home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol110 / config.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-12-15  |  56.5 KB  |  1,598 lines

  1. 1  REM $linesize: 132
  2. 10000  ' WARNING !!! DO NOT CHANGE, BYPASS OR REMOVE LINES 10000-10230
  3. 10010  ' CONFIG.BAS (RBBS-PC ver. CPC12.3)
  4. 10020  REM $LINESIZE: 132
  5. 10030  'by D. Thomas Mack
  6. 10040  '   The Second Ring
  7. 10050  '   10210 Oxfordshire Road
  8. 10060  '   Great Falls, Virginia 22066
  9. 10070  '
  10. 10080  ' *******************************NOTICE*************************************
  11. 10090  ' *  A limited license is granted to all users of this program and it's   *
  12. 10100  ' *  companion program, RBBS-PC (ver. CPC12.3), to make copies of this    *
  13. 10110  ' *  program and distribute the copies to other users, on the following   *
  14. 10120  ' *  conditions:                                                          *
  15. 10130  ' *    1.   The notices contained in lines 25 through 44 of the programs  *
  16. 10140  ' *         are not altered, bypassed, or removed.                        *
  17. 10150  ' *    2.   The program is not to be disrtibuted to others in modified    *
  18. 10160  ' *         form (i.e. the line numbers must remain the same).            *
  19. 10170  ' *    3.   No fee is to be charged (or any other consideration received) *
  20. 10180  ' *         for coping or distributing these programs without an express  *
  21. 10190  ' *         written agreement with D. Thomas Mack, The Second Ring, 10210 *
  22. 10200  ' *         Oxfordshire Road, Great falls, Virginia 22006                 *
  23. 10210  ' *                                                                       *
  24. 10220  ' *   Copyright (c) 1983, 1984 D. Thomas Mack, The Second Ring            *
  25. 10230  ' *************************************************************************
  26. 10240  DEFINT A-Z:CLEAR:DIM A$(5),SA(8),MD(20),FS(8),UA(12),HELP$(8)
  27. 10250  WIDTH 80:CLS:I!=FRE(C$):KEY OFF:LOCATE ,,0
  28. 10260  PRINT TAB(60)"tm":PRINT TAB(16) STRING$(15,205)" U S E R W A R E "STRING$(15,205)
  29. 10270  PRINT:PRINT TAB(17)"Capital PC User Group User-Supported Software":PRINT:PRINT TAB(7) CHR$(214)STRING$(62,196)CHR$(183)
  30. 10280  FOR I=1 TO 12:READ A$:PRINT TAB(7) CHR$(186);A$;SPACE$(62-LEN(A$));CHR$(186):NEXT
  31. 10290  PRINT TAB(7) CHR$(211)STRING$(62,196)CHR$(189):PRINT TAB(27)"Copyright (c) 1983, 1984 Tom Mack, 10210 Oxfordshire Rd., Great Falls, VA 22066"
  32. 10300  DATA"    If you are using RBBS-PC CPC12.3 and find it of value, I
  33. 10310  DATA"    would like to suggest you consider a contribution to
  34. 10320  DATA"
  35. 10330  DATA"                 Capital PC Software Exchange
  36. 10340  DATA"                     Post Office Box 6128
  37. 10350  DATA"                Silver Spring, Maryland  20906
  38. 10360  DATA"
  39. 10370  DATA"    Feel free to copy and share RBBS-PC CPC12.3 with other
  40. 10380  DATA"    users on these three conditions:
  41. 10390  DATA"    1.  RBBS-PC CPC12.3 is not distributed in modified form.
  42. 10400  DATA"    2.  No fee or consideration is charged.
  43. 10410  DATA"    3.  This notice is not bypassed or removed.
  44. 10420  DEF FNTI!=CSNG(FIX((VAL(MID$(TIME$,1,2))*60*60)+(VAL(MID$(TIME$,4,2))*60)+(VAL(MID$(TIME$,7,2))*1))) ' CPC10
  45. 10430  CONFIG$="RBBS-PC.DEF"
  46. 10440  FGR=7
  47. 10450  BGR=0
  48. 10460  BDR=0
  49. 10470  IWAIT!=FNTI!+5
  50. 10480  IF FNTI!<IWAIT! THEN LOCATE 22,15:GOTO 10480
  51. 10490  LOCATE 22,15:PRINT SPC(64):LOCATE 22,15:PRINT"Will you be running multiple copies of RBBS-PC (YES or NO)?";
  52. 10500  GOSUB 22380:ON ANSW GOTO 10530,10510,10490,10490
  53. 10510  GOSUB 22480
  54. 10520  ' *************************************************************************
  55. 10530  ON ERROR GOTO 60010
  56. 10540  FALSE=0
  57. 10545  ICHANGE=0
  58. 10550  TRUE=NOT FALSE
  59. 10560  MAXPAGE=8
  60. 10570  MAXRBBS=1
  61. 10580  ENVIR$="IBM's DOS"
  62. 10590  RECYCLE$="INTERNAL"
  63. 10600  USERMAX=10
  64. 10610  MESSAGES$="A:MESSAGES"
  65. 10630  CALLERS$="A:CALLERS"
  66. 10640  COMMENTS$="A:COMMENTS"
  67. 10650  USERS$="A:USERS"
  68. 10660  C$=""
  69. 10665  M$="M"
  70. 10670  HELP$="HELP0"
  71. 10680  HELP$(1)="HELP01"
  72. 10690  HELP$(2)="HELP02"
  73. 10700  HELP$(3)="HELP03"
  74. 10710  HELP$(4)="HELP04"
  75. 10720  HELP$(5)="HELP05"
  76. 10730  HELP$(6)="HELP06"
  77. 10740  HELP$(7)="HELP07"
  78. 10750  HELP$(8)="HELP08"
  79. 10760  BULLETIN$="BULLET"
  80. 10770  BULLET1$="BULLET"
  81. 10780  WELCOME$="A:WELCOME"
  82. 10790  NEWUSER$="A:NEWUSER"
  83. 10800  MENU1$="A:MENU1"
  84. 10810  MENU2$="A:MENU2"
  85. 10820  MENU3$="A:MENU3"
  86. 10830  MENU4$="A:MENU4"
  87. 10840  MENU5$="A:MENU5"
  88. 10850  CONF$="A:CONFENCE"
  89. 10860  BADNAME$="A:TRASHCAN"
  90. 10870  VIEWSEC=0
  91. 10880  OPTWEL=TRUE
  92. 10890  UPLDDLD=FALSE
  93. 10900  PL=23
  94. 10910  LW=80
  95. 10920  WINDW=FALSE
  96. 10930  DIR$="DIR"
  97. 10940  TDEV$="A"
  98. 10950  BTDEV$=TDEV$
  99. 10960  HTDEV$=TDEV$
  100. 10970  DOSVER%=2
  101. 10980  NFIR$="TOM"
  102. 10990  NLAS$="MACK"
  103. 11000  PASS1$="RBBS-PC"
  104. 11010  PASS2$="CPC12"
  105. 11020  XPR=0
  106. 11025  VER$="(Version 1.3)"
  107. 11030  CBACK=0
  108. 11040  MINSEC=0
  109. 11045  VIEWSEC=MINSEC
  110. 11050  DFSEC=5
  111. 11060  SYSSEC=10
  112. 11065  PACKSEC=SYSSEC
  113. 11070  FILE.SEC$=TDEV$+":"+"FILESEC"
  114. 11080  SEESYS=10
  115. 11090  SEEDOORS=10
  116. 11100  SHRD=0
  117. 11110  CYCLE=0
  118. 11120  KEYPW$=PASS1$
  119. 11130  NVIO=5
  120. 11140  SSEC=10:FOR I=1 TO 8:SA(I)=SSEC:NEXT
  121. 11150  MMSEC=5:FOR I=1 TO 20:MD(I)=MMSEC:NEXT
  122. 11160  FILSEC=5:FOR I=1 TO 8:FS(I)=FILSEC:NEXT
  123. 11170  UTLSEC=5:FOR I=1 TO 12:UA(I)=UTLSEC:NEXT
  124. 11180  PASWRD$=TDEV$+":"+"PASSWRDS"
  125. 11190  CHMAX=3
  126. 11200  CHSEC=5
  127. 11210  WOVR=SYSSEC
  128. 11220  MTERM=5
  129. 11230  FDEV$="ABB"
  130. 11240  MDEV$="A"
  131. 11250  UDIR$="DIR99"
  132. 11260  RBBS$="A:RBBS.BAT"
  133. 11270  CTTY$="A:RCTTY.BAT"
  134. 11280  OMIT.DIR$="NO"
  135. 11290  OMIT.UDIR$="NO"
  136. 11300  BELL=0
  137. 11310  PRT=TRUE
  138. 11320  TIME.MAX!=72
  139. 11330  MESSAGE.MAX=250
  140. 11350  LAPSE.MAX=1
  141. 11360  ANNOY.ON=800
  142. 11370  ANNOY.OFF=2200
  143. 11380  COMPILED=FALSE
  144. 11390  OPTBUL=TRUE
  145. 11400  SPEAKER=0
  146. 11410  M13$="COM1"
  147. 11420  REMIND=TRUE
  148. 11430  BTOK=TRUE
  149. 11440  M26=FALSE
  150. 11450  BULL=6
  151. 11455  ISWP=0
  152. 11460  COMPAQ=0
  153. 11470  SM1$="<ESC>  sysop sign-on maintenance/page."
  154. 11480  SM2$=" <F1>  return to DOS."
  155. 11490  SM3$=" <F2>  return to BASIC."
  156. 11500  SM4$=" <F3>  toggle Line Printer."
  157. 11510  SM5$=" <F4>  toggle SYSOP Page Bell."
  158. 11520  SM6$=" <F5>  force on-line state."
  159. 11530  SM7$=" <F6>  toggle SYSOP available."
  160. 11540  SM8$=" <F7>  SYSOP gets system after this caller."
  161. 11550  SM9$=" <F8>  grant temporary SYSOP privileges."
  162. 11560  SM10$=" <F9>  toggle SNOOP."
  163. 11570  SM11$="<F10>  force CHAT - ESC to end."
  164. 11580  ' RBBS-PC Configuration Program for Compilable RBBS-PC
  165. 11590  OPEN "I",#1,CONFIG$
  166. 11600  INPUT #1,FDEV$,PASS1$,PASS2$,NFIR$,NLAS$,CBACK,ANNOY.ON,ANNOY.OFF,TIME.MAX!,MESSAGE.MAX,LAPSE.MAX,UDIR$,XPR,BULL,BELL,PRT,COMPILED,MENU1$,MENU2$,MENU3$,MENU4$,MENU5$,CONF$,VIEWSEC,OPTWEL,UPLDDLD,PL,LW,WINDW,MDEV$
  167. 11610  GOSUB 22340
  168. 11620  INPUT #1,MESSAGES$,MESSAGES.BAK$,CALLERS$,COMMENTS$,USERS$,WELCOME$,NEWUSER$,DIR$,M13$,OPTBUL,SPEAKER,TDEV$,DOSVER%,FGR,BGR,BDR,RBBS$,CTTY$,OMIT.DIR$,OMIT.UDIR$
  169. 11630  GOSUB 22340
  170. 11640  INPUT #1,HELP$(1),HELP$(2),HELP$(3),HELP$(4),HELP$(5),HELP$(6),HELP$(7),HELP$(8),BULLETIN$,BULLET1$,BTDEV$,REMIND,BTOK,SEEDOORS,MAXRBBS,SHRD,CYCLE,USERMAX,MSGMAX!,BADNAME$
  171. 11650  GOSUB 22340
  172. 11660  INPUT #1,MINSEC,DFSEC,SYSSEC,FILE.SEC$,SEESYS,KEYPW$,NVIO,SA(1),SA(2),SA(3),SA(4),SA(5),SA(6),SA(7),SA(8),PASWRD$,CHMAX,CHSEC,WOVR,MTERM,M26
  173. 11670  GOSUB 22340
  174. 11680  INPUT #1,MD(1),MD(2),MD(3),MD(4),MD(5),MD(6),MD(7),MD(8),MD(9),MD(10),MD(11),MD(12),MD(13),MD(14),MD(15),MD(16),MD(17),MD(18),MD(19),MD(20),FS(1),FS(2),FS(3),FS(4),FS(5),FS(6),FS(7),FS(8)
  175. 11690  GOSUB 22340
  176. 11700  INPUT #1,UA(1),UA(2),UA(3),UA(4),UA(5),UA(6),UA(7),UA(8),UA(9),UA(10),UA(11),UA(12),COMPAQ
  177. 11705  INPUT #1,SM1$,SM2$,SM3$,SM4$,SM5$,SM6$,SM7$,SM8$,SM9$,SM10$,SM11$,PACKSEC
  178. 11710  GOSUB 22340
  179. 11720  BULLETIN$=RIGHT$(BULLETIN$,(LEN(BULLETIN$)-2))
  180. 11730  BULLET1$=RIGHT$(BULLET1$,(LEN(BULLET1$)-2))
  181. 11740  IF CYCLE=0 THEN RECYCLE$="INTERNAL" ELSE RECYCLE$="SYSTEM"
  182. 11750  HTDEV$=LEFT$(HELP$(1),1)
  183. 11760  HELP$(1)=RIGHT$(HELP$(1),(LEN(HELP$(1))-2))
  184. 11770  HELP$=LEFT$(HELP$(1),LEN(HELP$(1))-1)
  185. 11780  SSEC=SA(1):FOR I=2 TO 8:IF SA(I)>SSEC THEN GOTO 11790 ELSE SSEC=SA(I)
  186. 11790  NEXT
  187. 11800  MMSEC=MD(1):FOR I=2 TO 20:IF MD(I)>MMSEC THEN GOTO 11810 ELSE MMSEC=MD(I)
  188. 11810  NEXT
  189. 11820  FILSEC=FS(1):FOR I=2 TO  8:IF FS(I)>FILSEC THEN GOTO 11830 ELSE FILSEC=FS(I)
  190. 11830  NEXT
  191. 11840  UTLSEC=UA(1):FOR I=2 TO 12:IF UA(I)>UTLSEC THEN GOTO 11850 ELSE UTLSEC=UA(I)
  192. 11850  NEXT
  193. 11860  CLOSE #1
  194. 11862  GOSUB 50480
  195. 11864  GOSUB 50530
  196. 11870  IF XPR=0 THEN M5$="NOVICE"
  197. 11880  IF XPR=-1 THEN M5$="EXPERT"
  198. 11890  M6$=RIGHT$(FDEV$,1)
  199. 11900  M7$=LEFT$(FDEV$,(LEN(FDEV$)-1))
  200. 11910  IF BELL=0 THEN M10$="OFF"
  201. 11920  IF BELL=-1 THEN M10$="ON"
  202. 11930  IF PRT=TRUE THEN M11$="YES"
  203. 11940  IF PRT=FALSE THEN M11$="NO"
  204. 11950  IF COMPILED=TRUE THEN M12$="COMPILED"
  205. 11960  IF COMPILED=FALSE THEN M12$="BASICA"
  206. 11970  IF OPTBUL=TRUE THEN M15$="YES"
  207. 11980  IF OPTBUL=FALSE THEN M15$="NO"
  208. 11990  IF SPEAKER=0 THEN M14$="OFF"
  209. 12000  IF SPEAKER=-1 THEN M14$="ON"
  210. 12010  IF REMIND=TRUE THEN M16$="YES"
  211. 12020  IF REMIND=FALSE THEN M16$="NO"
  212. 12030  IF BTOK=TRUE THEN M17$="YES"
  213. 12040  IF BTOK=FALSE THEN M17$="NO"
  214. 12050  IF OPTWEL=FALSE THEN M18$="NO"
  215. 12060  IF OPTWEL=TRUE THEN M18$="YES"
  216. 12070  IF UPLDDLD=TRUE THEN M19$="YES"
  217. 12080  IF UPLDDLD=FALSE THEN M19$="NO"
  218. 12090  IF WINDW=TRUE THEN M21$="YES"
  219. 12100  IF WINDW=FALSE THEN M21$="NO"
  220. 12110  IF PASS1$="" THEN MN1$="(Disabled)" ELSE MN1$=PASS1$
  221. 12120  IF PASS2$="" THEN MN2$="(Disabled)" ELSE MN2$=PASS2$
  222. 12130  IF M26=TRUE THEN M26$="YES"
  223. 12140  IF M26=FALSE THEN M26$="NO"
  224. 12150  Y$=""
  225. 12160  KEY OFF
  226. 12170  GOSUB 22760
  227. 12180  FOR I=1 TO 10:KEY I,"":NEXT
  228. 12190  COLOR FGR,BGR,BDR:CLS:I!=FRE(C$)
  229. 12200  COLOR 0,7,0:LOCATE 4,15:PRINT"RBBS-PC CPC12.3 CONFIGURATION PROGRAM "+VER$:COLOR FGR,BGR,BDR:PRINT
  230. 12210  LOCATE 1,17,0:PRINT"Copyright (c) 1983, 1984 Tom Mack, 10210 Oxfordshire Rd., Great Falls, VA 22066"
  231. 12220  LOCATE  7,2:PRINT"  F1            Global RBBS-PC Parameters (part 1)"
  232. 12230  LOCATE  9,2:PRINT"  F2            Global RBBS-PC Parameters (part 2)"
  233. 12240  LOCATE 11,2:PRINT"  F3            Parameters for static RBBS-PC Files"
  234. 12250  LOCATE 13,2:PRINT"  F4            Parameters for dynamic RBBS-PC's Files"
  235. 12260  LOCATE 15,2:PRINT"  F5            Parameters for RBBS-PC's 'Doors'"
  236. 12270  LOCATE 17,2:PRINT"  F6            Parameters for RBBS-PC's Security"
  237. 12280  LOCATE 19,2:PRINT"  F7            Parameters for multiple RBBS-PC's"
  238. 12290  LOCATE 21,2:PRINT"  F8            RBBS-PC utilities"
  239. 12300  LOCATE 24,5:PRINT"Press END to terminate or select function key to change parameters shown.";
  240. 12310  GOSUB 22160
  241. 12320  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,12350,12360,12350
  242. 12330  GOTO 12310
  243. 12340  GOSUB 22540:GOTO 12310
  244. 12350  GOSUB 60380:GOTO 12310
  245. 12360  CURPAGE=1
  246. 12370  GOSUB 24800
  247. 12380  LOCATE  3,10:PRINT" 1. SYSOP's First Name --------------------------- "+NFIR$
  248. 12390  LOCATE  4,10:PRINT" 2. SYSOP's Last Name ---------------------------- "+NLAS$
  249. 12400  LOCATE  5,10:PRINT" 3. Password #1 for SYSOP to sign on remotely ---- "+MN1$
  250. 12410  LOCATE  6,10:PRINT" 4. Password #2 for SYSOP to sign on remotely----- "+MN2$
  251. 12420  LOCATE  7,10:PRINT" 5. Password for SYSOP to sign on locally -------- "+KEYPW$
  252. 12430  LOCATE  8,10:PRINT" 6. SYSOP's default sign-on mode ----------------- "+M5$
  253. 12440  LOCATE  9,10:PRINT" 7. SYSOP's office hours ------------------------ "STR$(ANNOY.ON);" to "STR$(ANNOY.OFF)
  254. 12450  LOCATE 10,10:PRINT" 8. Ring-back count set at -----------------------"STR$(CBACK)
  255. 12460  LOCATE 11,10:PRINT" 9. Drive available for Uploading ---------------- "+M6$
  256. 12470  LOCATE 12,10:PRINT"10. Name of directory for uploading -------------- "+UDIR$
  257. 12480  LOCATE 13,10:PRINT"11. Drive(s) available for Downloading ----------- "+M7$
  258. 12490  LOCATE 14,10:PRINT"12. Prompt bell default is ----------------------- "+M10$
  259. 12500  LOCATE 15,10:PRINT"13. Maximum time per session (in minutes) --------"STR$(TIME.MAX!)
  260. 12510  LOCATE 16,10:AA$=STRING$((14-LEN(STR$(TIME.MAX!))),45):PRINT"14. Limit each user to"+STR$(TIME.MAX!)+" minutes/day? "+AA$+" "+M26$
  261. 12530  LOCATE 17,10:PRINT"15. # Months of inactivty before user deleted ----"STR$(LAPSE.MAX)
  262. 12540  LOCATE 18,10:PRINT"16. Display user sessions on screen (SNOOP) ------ "+M11$
  263. 12560  LOCATE 19,10:PRINT"17. Communications port to be used by RBBS-PC ---- "+M13$
  264. 12570  LOCATE 20,10:PRINT"18. Version of DOS that RBBS-PC will run under ---"STR$(DOSVER%)
  265. 12580  GOSUB 24890
  266. 12590  GOSUB 22160
  267. 12600  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,12190,14200,12620
  268. 12610  GOTO 12590
  269. 12620  GOSUB 50340
  270. 12630  IF HJ$="1"THEN GOTO 12840
  271. 12640  IF HJ$="2" THEN GOTO 12910
  272. 12650  IF HJ$="3" THEN GOTO 12980
  273. 12660  IF HJ$="4" THEN GOTO 13060
  274. 12670  IF HJ$="5" THEN LOCATE 24,5:PRINT SPC(74):LOCATE 24,5:PRINT"Enter password (8 characters or less)";:GOSUB 14990: IF LEN(HJ$)>8 OR INSTR(HJ$,"0!") THEN HJ$="5":GOTO 12670 ELSE KEYPW$=HJ$:GOTO 12360
  275. 12680  IF HJ$="6" THEN GOTO 13140
  276. 12690  IF HJ$="7" THEN GOTO 13210
  277. 12700  IF HJ$="8" THEN GOTO 13350
  278. 12710  IF HJ$="9" THEN GOTO 13400
  279. 12720  IF HJ$="11" THEN GOTO 13470
  280. 12730  IF HJ$="10" THEN GOTO 13590
  281. 12740  IF HJ$="12" THEN GOTO 13750
  282. 12750  IF HJ$="13" THEN GOTO 13840
  283. 12760  IF HJ$="14" THEN GOTO 16650
  284. 12780  IF HJ$="15" THEN GOTO 13940
  285. 12790  IF HJ$="16" THEN GOTO 13990
  286. 12810  IF HJ$="17" THEN GOTO 14120
  287. 12820  IF HJ$="18" THEN GOTO 15240
  288. 12830  GOTO 12580
  289. 12840  LOCATE 24,5:PRINT"What is the SYSOP's FIRST name? ";
  290. 12850  LINE INPUT;HJ$
  291. 12860  IF HJ$="" THEN GOTO 12840
  292. 12870  IF LEN(HJ$)<3 GOTO 12840
  293. 12880  GOSUB 60390
  294. 12890  NFIR$=HJ$
  295. 12900  GOTO 12360
  296. 12910  LOCATE 24,5:PRINT"What is the SYSOP's LAST name? ";
  297. 12920  LINE INPUT;HJ$
  298. 12930  IF HJ$="" THEN GOTO 12910
  299. 12940  IF LEN(HJ$)<3 GOTO 12910
  300. 12950  GOSUB 60390
  301. 12960  NLAS$=HJ$
  302. 12970  GOTO 12360
  303. 12980  LOCATE 24,5:PRINT"What is the SYSOP's Password #1? ";
  304. 12990  LINE INPUT;HJ$
  305. 13020  GOSUB 60390
  306. 13030  PASS1$=HJ$
  307. 13040  IF PASS1$="" THEN MN1$="(Disabled)" ELSE MN1$=PASS1$
  308. 13050  GOTO 12360
  309. 13060  LOCATE 24,5:PRINT"What is the SYSOP's Password #2? ";
  310. 13070  LINE INPUT;HJ$
  311. 13100  GOSUB 60390
  312. 13110  PASS2$=HJ$
  313. 13120  IF PASS2$="" THEN MN2$="(Disabled)" ELSE MN2$=PASS2$
  314. 13130  GOTO 12360
  315. 13140  LOCATE 24,5:PRINT"SYSOP's default sign-on mode (EXPERT/NOVICE)? ";
  316. 13150  LINE INPUT;HJ$
  317. 13160  IF LEN(HJ$)=6 OR LEN(HJ$)=1 THEN GOTO 13170 ELSE GOTO 13140
  318. 13170  GOSUB 60390
  319. 13180  IF HJ$="E" OR HJ$="EXPERT" THEN M5$="EXPERT":GOTO 12360
  320. 13190  IF HJ$="N" OR HJ$="NOVICE" THEN M5$="NOVICE":GOTO 12360
  321. 13200  GOTO 13140
  322. 13210  LOCATE 24,5:PRINT"What is the earliest SYSOP wants to be paged? -- HHMM ";
  323. 13220  LINE INPUT;HJ$
  324. 13230  IF LEN(HJ$)<>4 GOTO 13210
  325. 13240  IF FIX(VAL(MID$(HJ$,1,2)))<0 OR FIX(VAL(MID$(HJ$,1,2)))>24 OR FIX(VAL(MID$(HJ$,3,2)))<0 OR FIX(VAL(MID$(HJ$,3,2)))>59 THEN GOTO 13210
  326. 13250  ANNOY.ON=VAL(HJ$)
  327. 13260  IF ANNOY.ON<0 OR ANNOY.ON>2400 THEN GOTO 13210
  328. 13270  LOCATE 25,5:PRINT"What is the latest SYSOP wants to be paged? ---- HHMM ";
  329. 13280  LINE INPUT;HJ$
  330. 13290  IF LEN(HJ$)<>4 GOTO 13270
  331. 13300  IF FIX(VAL(MID$(HJ$,1,2)))<0 OR FIX(VAL(MID$(HJ$,1,2)))>24 OR FIX(VAL(MID$(HJ$,3,2)))<0 OR FIX(VAL(MID$(HJ$,3,2)))>59 THEN GOTO 13270
  332. 13310  ANNOY.OFF=VAL(HJ$)
  333. 13320  IF ANNOY.OFF<0 OR ANNOY.OFF>2400 THEN GOTO 13270
  334. 13330  IF ANNOY.ON>ANNOY.OFF THEN SWAP ANNOY.ON,ANNOY.OFF
  335. 13340  GOTO 12360
  336. 13350  LOCATE 24,5:PRINT"Set number of rings to ring-back on voice grade line ";
  337. 13360  LINE INPUT;HJ$
  338. 13370  CBACK=FIX(VAL(HJ$))
  339. 13380  IF CBACK<0 OR CBACK>99 THEN GOTO 13350
  340. 13390  GOTO 12360
  341. 13400  LOCATE 24,5:PRINT"Specify single drive in the range A->"+M$+" for uploading. ";
  342. 13410  LINE INPUT;HJ$
  343. 13420  IF LEN(HJ$)<>1 THEN GOTO 13400
  344. 13430  GOSUB 60390
  345. 13440  IF HJ$<"A" OR HJ$>M$ THEN GOTO 13400
  346. 13450  M6$=HJ$
  347. 13460  GOTO 12360
  348. 13470  LOCATE 24,5:PRINT"Specify drives (max of 5) in the range A->"+M$+" for download files. ";
  349. 13480  LINE INPUT;HJ$
  350. 13490  IF LEN(HJ$)<1 OR LEN(HJ$)>5 THEN GOTO 13470
  351. 13500  GOSUB 60390
  352. 13510  FOR I=1 TO LEN(HJ$)
  353. 13520  A$(I)=MID$(HJ$,I,1)
  354. 13530  NEXT
  355. 13540  FOR I=1 TO LEN(HJ$)
  356. 13550  IF A$(I)<"A" OR A$(I)>M$ THEN GOTO 13470
  357. 13560  NEXT
  358. 13570  M7$=HJ$
  359. 13580  GOTO 12360
  360. 13590  LOCATE 24,5:PRINT"Directory ID (max of 5 characters) for upload directory.";
  361. 13600  LINE INPUT;HJ$:GOSUB 60390
  362. 13610  IF LEN(HJ$)<1 OR LEN(HJ$)>5 THEN GOTO 13590
  363. 13620  FOR J=1 TO LEN(HJ$)
  364. 13630      X=ASC(MID$(HJ$,J,1))
  365. 13640      IF (X>64 AND X<91) THEN GOTO 13720
  366. 13650      IF (X>47 AND X<58) THEN GOTO 13720
  367. 13660      IF (X=33) THEN GOTO 13720
  368. 13670      IF (X>34 AND X<42) THEN GOTO 13720
  369. 13680      IF (X>43 AND X<46) THEN GOTO 13720
  370. 13690      IF (X>96 AND X<124) THEN GOTO 13720
  371. 13700      IF (X=125) THEN GOTO 13720
  372. 13710  GOTO 13590
  373. 13720  NEXT
  374. 13730  UDIR$="DIR"+HJ$
  375. 13740  GOTO 12360
  376. 13750  LOCATE 24,5:PRINT"Prompt bell default? (ON or OFF) ";
  377. 13760  LINE INPUT;HJ$
  378. 13770  IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 13750
  379. 13780  GOSUB 60390
  380. 13790  IF HJ$="ON" THEN GOTO 13820
  381. 13800  IF HJ$="OFF" THEN GOTO 13820
  382. 13810  GOTO 13750
  383. 13820  M10$=HJ$
  384. 13830  GOTO 12360
  385. 13840  LOCATE 24,5:PRINT"Set maximum minutes a user can stay on the system ";
  386. 13850  LINE INPUT;HJ$
  387. 13860  TIME.MAX!=VAL(HJ$)
  388. 13870  IF TIME.MAX!<0 OR TIME.MAX!>1440 THEN GOTO 13840
  389. 13880  GOTO 12360
  390. 13890  LOCATE 24,5:PRINT"Set maximum number of messages allowed (MAX=250) ";
  391. 13900  LINE INPUT;HJ$
  392. 13910  MESSAGE.MAX=VAL(HJ$)
  393. 13920  IF MESSAGE.MAX<1 OR MESSAGE.MAX>250 THEN GOTO 13890
  394. 13930  GOTO 21570
  395. 13940  LOCATE 24,5:PRINT"Set number of months before an inactive user is purged. ";
  396. 13950  LINE INPUT;HJ$
  397. 13960  LAPSE.MAX=VAL(HJ$)
  398. 13970  IF LAPSE.MAX<1 OR LAPSE.MAX>12 THEN GOTO 13940
  399. 13980  GOTO 12360
  400. 13990  LOCATE 24,5:PRINT"Display user sessions on the screen? (YES or NO) ";
  401. 14000  GOSUB 22380:ON ANSW GOTO 14010,14010,13990,13990
  402. 14010  M11$=HJ$
  403. 14020  GOTO 12360
  404. 14120  CP1=1
  405. 14130  CP2=2
  406. 14140  LOCATE 24,5:PRINT"Number of communication port to be used ("+STR$(CP1)+" or"+STR$(CP2)+" )? ";
  407. 14150  LINE INPUT;HJ$
  408. 14160  IF LEN(HJ$)<>1 THEN GOTO 14120
  409. 14170  IF FIX(VAL(MID$(HJ$,1,1)))<CP1 OR FIX(VAL(MID$(HJ$,1,1)))>CP2 THEN GOTO 14120
  410. 14180  M13$="COM"+HJ$
  411. 14190  GOTO 12360
  412. 14200  CURPAGE=2
  413. 14210  GOSUB 24800
  414. 14220  LOCATE  3,10:PRINT"21. Foreground color (for color monitors) is -----"STR$(FGR)
  415. 14230  LOCATE  4,10:PRINT"22. Background color (for color monitors) is -----"STR$(BGR)
  416. 14240  LOCATE  5,10:PRINT"23. The border color (for color monitors) is -----"STR$(BDR)
  417. 14250  LOCATE  6,10:PRINT"24. The modem speaker default is ----------------- "+M14$
  418. 14260  LOCATE  7,10:PRINT"25. Remind users of messages that they left ------ "+M16$
  419. 14270  LOCATE  8,10:PRINT"26. Remind users of # uploads and downloads? ----- "+M19$
  420. 14280  LOCATE  9,10:PRINT"27. Default user page length is ------------------"STR$(PL)
  421. 14290  LOCATE 10,10:PRINT"28. Default user line width is -------------------"STR$(LW)
  422. 14300  LOCATE 11,10:PRINT"29. Require XMODEM protocol for binary files ----- "+M17$
  423. 14310  LOCATE 12,10:PRINT"30. Omit ";DIR$;" from N)ew command ";STRING$(22-LEN(DIR$),"-");" ";OMIT.DIR$
  424. 14320  LOCATE 13,10:PRINT"31. Omit ";M6$+":"+UDIR$;" from N)ew command ";STRING$(20-LEN(UDIR$),"-");" ";OMIT.UDIR$
  425. 14330  LOCATE 14,10:PRINT"32. Is system 'welcome' interruptable? ----------- "+M18$
  426. 14340  LOCATE 15,10:PRINT"33. Are system bulletins to be 'optional'? ------- "+M15$
  427. 14350  IF COMPAQ THEN M27$="YES" ELSE M27$="NO"
  428. 14360  LOCATE 16,10:PRINT"34. Will RBBS-PC be running on a non-IBM PC? ----- "+M27$
  429. 14370  GOSUB 24890
  430. 14380  GOSUB 22160
  431. 14390  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,12360,14570,14410
  432. 14400  GOTO 14380
  433. 14410  GOSUB 50340
  434. 14420  IF HJ$="21" THEN GOSUB 15520: GOTO 15530
  435. 14430  IF HJ$="22" THEN GOSUB 15520: GOTO 15590
  436. 14440  IF HJ$="23" THEN GOSUB 15520: GOTO 15650
  437. 14450  IF HJ$="24" THEN GOTO 15710
  438. 14460  IF HJ$="25" THEN GOTO 15800
  439. 14470  IF HJ$="26" THEN GOTO 16690
  440. 14480  IF HJ$="27" THEN GOTO 16730
  441. 14490  IF HJ$="28" THEN GOTO 16790
  442. 14500  IF HJ$="29" THEN GOTO 15880
  443. 14510  IF HJ$="30" THEN GOTO 15920
  444. 14520  IF HJ$="31" THEN GOTO 15960
  445. 14530  IF HJ$="32" THEN GOTO 16000
  446. 14540  IF HJ$="33" THEN GOTO 15840
  447. 14550  IF HJ$="34" THEN GOTO 16040
  448. 14560  GOTO 14370
  449. 14570  CURPAGE=3
  450. 14580  GOSUB 24800
  451. 14590  LOCATE  3,10:PRINT"41. Drive containing RBBS-PC bulletins is -------- "+BTDEV$
  452. 14600  LOCATE  4,10:PRINT"42. Name of file describing 'bulletins' is ------- "+BULLETIN$
  453. 14610  LOCATE  5,10:PRINT"43. Number of active 'bulletins' -----------------"+STR$(BULL)
  454. 14620  LOCATE  6,10:PRINT"44. Prefix used to name bulletin files is -------- "+BULLET1$
  455. 14630  LOCATE  7,10:PRINT"45. Drive containing 'help' files is ------------- "+HTDEV$
  456. 14640  LOCATE  8,10:PRINT"46. Prefix used to name the eight 'help' files --- "+HELP$
  457. 14650  LOCATE  9,10:PRINT"47. Name of 'newuser' file shown to new users ---- "+NEWUSER$
  458. 14660  LOCATE 10,10:PRINT"48. Name of 'welcome' file shown at logon -------- "+WELCOME$
  459. 14670  LOCATE 11,10:PRINT"49. Name of file describing file directories ----- "+DIR$
  460. 14680  LOCATE 12,10:PRINT"50. The SYSOP's command menu is named ------------ "+MENU1$
  461. 14690  LOCATE 13,10:PRINT"51. The main messages subsystem menu is named ---- "+MENU2$
  462. 14700  LOCATE 14,10:PRINT"52. The file subsystem menu is named ------------- "+MENU3$
  463. 14710  LOCATE 15,10:PRINT"53. The utilities subsystem menu is named -------- "+MENU4$
  464. 14730  LOCATE 16,10:PRINT"54. Menu that lists available conferences is ----- "+CONF$
  465. 14740  LOCATE 17,10:PRINT"55. File containing invalid user names ----------- "+BADNAME$
  466. 14750  GOSUB 24890
  467. 14760  GOSUB 22160
  468. 14770  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,14200,15340,14790
  469. 14780  GOTO 14760
  470. 14790  GOSUB 50340
  471. 14800  IF HJ$="41"THEN GOSUB 15160:BTDEV$=TDEV$:GOTO 14570
  472. 14810  IF HJ$="42" THEN GOSUB 14970:BULLETIN$=HJ$: GOTO 14570
  473. 14820  IF HJ$="43" THEN GOTO 15290
  474. 14830  IF HJ$="44" THEN GOSUB 14970: IF LEN(HJ$)>6 THEN HJ$="44":GOTO 14810 ELSE BULLET1$=HJ$: GOTO 14570
  475. 14840  IF HJ$="45" THEN GOSUB 15160:HTDEV$=HJ$: GOTO 14570
  476. 14850  IF HJ$="46" THEN GOSUB 14970: IF LEN(HJ$)>7 THEN HJ$="44":GOTO 14810 ELSE HELP$=HJ$: GOTO 14570
  477. 14860  IF HJ$="47" THEN GOSUB 17330: NEWUSER$=SDEV$+":"+HJ$: GOTO 14570
  478. 14870  IF HJ$="48" THEN GOSUB 17330: WELCOME$=SDEV$+":"+HJ$: GOTO 14570
  479. 14880  IF HJ$="49" THEN GOSUB 14970: DIR$=HJ$: GOTO 14570
  480. 14890  IF HJ$="50" THEN GOSUB 17330: MENU1$=SDEV$+":"+HJ$: GOTO 14570
  481. 14900  IF HJ$="51" THEN GOSUB 17330: MENU2$=SDEV$+":"+HJ$: GOTO 14570
  482. 14910  IF HJ$="52" THEN GOSUB 17330: MENU3$=SDEV$+":"+HJ$: GOTO 14570
  483. 14920  IF HJ$="53" THEN GOSUB 17330: MENU4$=SDEV$+":"+HJ$: GOTO 14570
  484. 14940  IF HJ$="54" THEN GOSUB 17330: CONF$=SDEV$+":"+HJ$: GOTO 14570
  485. 14950  IF HJ$="55" THEN GOSUB 17330: BADNAME$=SDEV$+":"+HJ$:GOTO 14570
  486. 14960  GOTO 14750
  487. 14970  X$=HJ$
  488. 14980  LOCATE 24,5:PRINT SPC(74):LOCATE 24,5:PRINT"Specify name of the file for option "+X$+". ";
  489. 14990  LINE INPUT;HJ$:GOSUB 60390
  490. 15000  IF LEN(HJ$)<1 OR LEN(HJ$)>12 THEN GOTO 14980
  491. 15010  L1=INSTR(HJ$,"."):IF L1=0 THEN IF LEN(HJ$)<9 THEN GOTO 15050 ELSE GOTO 14980
  492. 15020  IF L1>9 THEN GOTO 14980
  493. 15030  IF L1<2 THEN GOTO 14980
  494. 15040  IF LEN(HJ$)-L1>3 THEN GOTO 14980
  495. 15050  FOR J=1 TO LEN(HJ$)
  496. 15060      X=ASC(MID$(HJ$,J,1))
  497. 15070      IF (X>63 AND X<91) THEN GOTO 15150
  498. 15080      IF (X>47 AND X<58) THEN GOTO 15150
  499. 15090      IF (X=33) THEN GOTO 15150
  500. 15100      IF (X>34 AND X<42) THEN GOTO 15150
  501. 15110      IF (X>43 AND X<47) THEN GOTO 15150
  502. 15120      IF (X>96 AND X<124) THEN GOTO 15150
  503. 15130      IF (X=125) THEN GOTO 15150
  504. 15140  GOTO 14980
  505. 15150  NEXT: RETURN
  506. 15160  X$=HJ$
  507. 15170  LOCATE 24,5:PRINT"Specify drive in the range A->"+M$+" for option "+X$". ";
  508. 15180  LINE INPUT;HJ$
  509. 15190  IF LEN(HJ$)<>1 THEN GOTO 15170
  510. 15200  GOSUB 60390
  511. 15210  IF HJ$<"A" OR HJ$>M$ THEN GOTO 15170
  512. 15220  TDEV$=HJ$
  513. 15230  RETURN
  514. 15240  LOCATE 24,5:PRINT"What version of DOS will RBBS-PC be running under (1, 2, or 3)?";
  515. 15250  LINE INPUT;HJ$
  516. 15260  B1%=VAL(HJ$)
  517. 15270  IF B1%<1 OR B1%>3 THEN GOTO 15240
  518. 15280  DOSVER%=B1%:GOTO 12360
  519. 15290  LOCATE 24,5:PRINT"Enter number of active 'bulletins' (0 to 99)";
  520. 15300  LINE INPUT;HJ$
  521. 15310  B1%=VAL(HJ$)
  522. 15320  IF B1%<1 OR B1%>99 THEN GOTO 15290
  523. 15330  BULL=B1%:GOTO 14570
  524. 15340  CURPAGE=4
  525. 15350  GOSUB 24800
  526. 15360  LOCATE  4,10:PRINT"61. System file containing messages is named ----- "+MESSAGES$
  527. 15380  LOCATE  5,10:PRINT"62. System file for 'callers' is named ----------- "+CALLERS$
  528. 15390  LOCATE  6,10:PRINT"63. System file for comments to SYSOP is named --- "+COMMENTS$
  529. 15400  LOCATE  7,10:PRINT"64. System file for recording users is named ----- "+USERS$
  530. 15410  GOSUB 24890
  531. 15420  GOSUB 22160
  532. 15430  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,14570,16130,15450
  533. 15440  GOTO 15420
  534. 15450  GOSUB 50340
  535. 15460  IF HJ$="61" THEN GOSUB 17330: GOTO 15511
  536. 15480  IF HJ$="62" THEN GOSUB 17330: CALLERS$=SDEV$+":"+HJ$:GOTO 15340
  537. 15490  IF HJ$="63" THEN GOSUB 17330: COMMENTS$=SDEV$+":"+HJ$:GOTO 15340
  538. 15500  IF HJ$="64" THEN GOSUB 17330: GOTO 15512
  539. 15510  GOTO 15410
  540. 15511  IF LEN(HJ$)>8 OR INSTR(HJ$,".") THEN HJ$="61":GOTO 15460 ELSE MESSAGES$=SDEV$+":"+HJ$:GOTO 15340
  541. 15512  IF LEN(HJ$)>8 OR INSTR(HJ$,".") THEN HJ$="64":GOTO 15500 ELSE USERS$=SDEV$+":"+HJ$:GOTO 15340
  542. 15520  LOCATE 24,5:PRINT"(See the description of the COLOR statement in Basic.)";:RETURN
  543. 15530  LOCATE 25,5:PRINT"Enter foreground color (a value between 0 and 15)";
  544. 15540  LINE INPUT;HJ$
  545. 15550  B1=VAL(HJ$)
  546. 15560  IF B1<0 OR B1>15 THEN GOTO 15530
  547. 15570  FGR=B1
  548. 15580  GOTO 14200
  549. 15590  LOCATE 25,5:PRINT"Enter background color (a value between 0 and 7)";
  550. 15600  LINE INPUT;HJ$
  551. 15610  B1=VAL(HJ$)
  552. 15620  IF B1<0 OR B1>7 THEN GOTO 15590
  553. 15630  BGR=B1
  554. 15640  GOTO 14200
  555. 15650  LOCATE 25,5:PRINT"Enter the border color (a value between 0 and 7)";
  556. 15660  LINE INPUT;HJ$
  557. 15670  B1=VAL(HJ$)
  558. 15680  IF B1<0 OR B1>7 THEN GOTO 15650
  559. 15690  BDR=B1
  560. 15700  GOTO 14200
  561. 15710  LOCATE 24,5:PRINT"Modem speaker default? (ON or OFF) ";
  562. 15720  LINE INPUT;HJ$
  563. 15730  IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 15710
  564. 15740  GOSUB 60390
  565. 15750  IF HJ$="ON" THEN GOTO 15780
  566. 15760  IF HJ$="OFF" THEN GOTO 15780
  567. 15770  GOTO 15710
  568. 15780  M14$=HJ$
  569. 15790  GOTO 14200
  570. 15800  LOCATE 24,5:PRINT"Remind users of the messages they left? (YES or NO) ";
  571. 15810  GOSUB 22380:ON ANSW GOTO 15820,15820,15800,15800
  572. 15820  M16$=HJ$
  573. 15830  GOTO 14200
  574. 15840  LOCATE 24,5:PRINT"Are system bulletins to be optional? (YES or NO) ";
  575. 15850  GOSUB 22380:ON ANSW GOTO 15860,15860,15840,15840
  576. 15860  M15$=HJ$
  577. 15870  GOTO 14200
  578. 15880  LOCATE 24,5:PRINT"Is XMODEM required for binary files? (YES or NO) ";
  579. 15890  GOSUB 22380:ON ANSW GOTO 15900,15900,15880,15880
  580. 15900  M17$=HJ$
  581. 15910  GOTO 14200
  582. 15920  LOCATE 24,5:PRINT"Is ";DIR$;" omitted from the N)ew command? (YES or NO) ";
  583. 15930  GOSUB 22380:ON ANSW GOTO 15940,15940,15920,15920
  584. 15940  OMIT.DIR$=HJ$
  585. 15950  GOTO 14200
  586. 15960  LOCATE 24,5:PRINT"Is ";UDIR$;" omitted from the N)ew command? (YES or NO) ";
  587. 15970  GOSUB 22380:ON ANSW GOTO 15980,15980,15960,15960
  588. 15980  OMIT.UDIR$=HJ$
  589. 15990  GOTO 14200
  590. 16000  LOCATE 24,5:PRINT"Is system 'welcome' interruptable (YES OR NO) ";
  591. 16010  GOSUB 22380:ON ANSW GOTO 16020,16020,16000,16000
  592. 16020  M18$=HJ$
  593. 16030  GOTO 14200
  594. 16040  LOCATE 24,5:PRINT"Will RBBS-PC be running on a non-IBM PC (YES OR NO) ";
  595. 16050  GOSUB 22380:ON ANSW GOTO 16060,16080,16040,16040
  596. 16060  COMPAQ=0
  597. 16070  GOTO 14200
  598. 16080  GOSUB 50340:LOCATE 24,5:PRINT"Will RBBS-PC be running on a COMPAQ+ (YES OR NO) ";
  599. 16090  GOSUB 22380:ON ANSW GOTO 16110,16100,16080,16080
  600. 16100  COMPAQ=1:GOTO 14200
  601. 16110  COMPAQ=2:GOTO 14200
  602. 16120  GOTO 14200
  603. 16130  CURPAGE=5
  604. 16140  GOSUB 24800
  605. 16150  LOCATE  3,10:PRINT"81. Is the 'door' subystem available? ------------ "+M21$
  606. 16160  LOCATE  4,10:PRINT"82. The 'door' subsystem menu is named ----------- "+MENU5$
  607. 16170  LOCATE  5,10:PRINT"84. File RBBS builds dynamically to open a 'door'- "+CTTY$
  608. 16180  LOCATE  6,10:PRINT"83. When a 'door' closes, file to re-invoke RBBS - "+RBBS$
  609. 16190  GOSUB 24890
  610. 16200  GOSUB 22160
  611. 16210  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,15340,16910,16230
  612. 16220  GOTO 16200
  613. 16230  GOSUB 50340
  614. 16240  IF HJ$="81" THEN GOTO 16290
  615. 16250  IF HJ$="82" THEN GOSUB 17330: MENU5$=SDEV$+":"+HJ$:GOTO 16130
  616. 16260  IF HJ$="83" THEN GOSUB 17330: RBBS$=SDEV$+":"+HJ$:GOTO 16130
  617. 16270  IF HJ$="84" THEN GOSUB 17330: CTTY$=SDEV$+":"+HJ$:GOTO 16130
  618. 16280  GOTO 16190
  619. 16290  LOCATE 24,5:PRINT"Is the window subsystem available? (YES or NO) ";
  620. 16300  GOSUB 22380:ON ANSW GOTO 16310,16310,16290,16290
  621. 16310  M21$=HJ$
  622. 16320  IF M21$="NO" GOTO 16130 ELSE LOCATE 24,1:PRINT SPC(79):LOCATE 24,1:PRINT "Will you be running RBBS-PC under MultiLink from The Software Link? ";
  623. 16330  GOSUB 22380:ON ANSW GOTO  16340,16350,16290,16290
  624. 16340  IWAIT!=FNTI!+15:GOSUB 16470:GOTO 16130
  625. 16350  GOSUB 16380:GOTO 16360
  626. 16360  LOCATE 23,1:PRINT"Current Multi-Link terminal type for WINDOWS is ";MTERM
  627. 16370  LOCATE 24,1:PRINT SPC(79):LOCATE 24,1:PRINT "Enter Multi-Link terminal type for WINDOWS ";:GOSUB 17420:MTERM=B1:IF MTERM <1 THEN 16370 ELSE IF MTERM >11 THEN GOTO 16370 ELSE GOTO 16130
  628. 16380  CLS:PRINT "Multi-Link is a software product of The Software Link, Inc.":PRINT"located at 6700 23-B Roswell Road, Atlanta, Georgia  30328."
  629. 16390  PRINT "It allows IBM's DOS 1.1 or 2.0 or the IBM PC to be a multi-tasking"
  630. 16400  PRINT "operating system.  The Capital PC User Group has no connection"
  631. 16410  PRINT "whatsoever with this company or it's products.  In fact The Software":PRINT"Link has only occasionally sent updates of it's new releases to us.":PRINT"That is the reason that RBBS-PC is only supported under Release 2.07 of"
  632. 16420  PRINT"Multi-Link.  I feel strongly that IBM's DOS for the PC should be":PRINT"multi-tasking.  Because Multi-Link provides this capability for the widest"
  633. 16430  PRINT"ranges of DOS software for the IBM PC, RBBS-PC has been enhanced":PRINT "to run under Multi-Link.  Any questions regarding RBBS-PC under Multi-Link":PRINT"(other than Release 2.07 of Multi-Link) should be directed to The"
  634. 16440  PRINT"Software Link's customer support group at (404) 255-1254.":PRINT"":PRINT"I have run RBBS-PC under Multi-Link for over nine months -- since Multi-Link":PRINT"release 2.04.  Since Multi-Link release 2.06 I HAVE NEVER HAD A SYSTEM CRASH"
  635. 16450  PRINT"due to Multi-Link.  I think it is a quality product but a bit over-priced.":PRINT "My opnion on Multi-Link's price reflects my prejudice that all PC software":PRINT"should be relatively inexpensive.":PRINT"":PRINT SPC(60);"Tom Mack"
  636. 16460  PRINT SPC(60);"July 1, 1984":RETURN
  637. 16470  CLS
  638. 16480  PRINT"******Warning******"
  639. 16490  PRINT"IBM's DOS absolutely REQUIRES
  640. 16500  PRINT"any software package running
  641. 16510  PRINT"as a 'door' (i.e. via a
  642. 16520  PRINT"communication port) to monitor
  643. 16530  PRINT"the communication port!
  644. 16540  PRINT"Unless the software that you
  645. 16550  PRINT"invoke via the RBBS-PC 'door'
  646. 16560  PRINT"mechanism monitors the communication
  647. 16570  PRINT"line, your system will be vulnerable
  648. 16580  PRINT"to being hung -- and worse!!!  If you
  649. 16590  PRINT"don't THROUGHLY understand section
  650. 16600  PRINT"10.0 of RBBS-PC's documentation
  651. 16610  PRINT"which discusses the pitfalls of
  652. 16620  PRINT"opening RBBS-PC's 'doors' to your
  653. 16630  PRINT"users, DON'T use 'doors'!!!!!"
  654. 16640  IF FNTI!<IWAIT! THEN 16640 ELSE RETURN
  655. 16650  LOCATE 24,5:PRINT"Limit the maximum time a users can be on each day? (YES or NO) ";
  656. 16660  GOSUB 22380:ON ANSW GOTO 16670,16670,16650,16650
  657. 16670  M26$=HJ$
  658. 16680  GOTO 12360
  659. 16690  LOCATE 24,5:PRINT"Remind users of # uploads and downloads? (YES or NO) ";
  660. 16700  GOSUB 22380:ON ANSW GOTO 16710,16710,16690,16690
  661. 16710  M19$=HJ$
  662. 16720  GOTO 14200
  663. 16730  LOCATE 24,5:PRINT"Default user page length?(a value between 0 and 255)";
  664. 16740  LINE INPUT;HJ$
  665. 16750  B1=VAL(HJ$)
  666. 16760  IF B1<0 OR B1>255 THEN GOTO 16730
  667. 16770  PL=B1
  668. 16780  GOTO 14200
  669. 16790  LOCATE 24,5:PRINT"Default user line width? (a value between 0 and 255)";
  670. 16800  LINE INPUT;HJ$
  671. 16810  B1=VAL(HJ$)
  672. 16820  IF B1<0 OR B1>255 THEN GOTO 16790
  673. 16830  LW=B1
  674. 16840  GOTO 14200
  675. 16850  LOCATE 24,5:PRINT"Security level temporarily imposed on conference 'viewers'";
  676. 16860  HJ$="V>iew"
  677. 16870  GOSUB 17420:VIEWSEC=B1
  678. 16900  GOTO 16910
  679. 16910  CURPAGE=6
  680. 16920  GOSUB 24800
  681. 16930  LOCATE  3,9:PRINT"101. Minimum security level to get onto RBBS ------ "STR$(MINSEC)
  682. 16940  LOCATE  4,9:PRINT"102. Default security level for new callers ------- "STR$(DFSEC)
  683. 16950  LOCATE  5,9:PRINT"103. Security level for SYSOP --------------------- "STR$(SYSSEC)
  684. 16960  LOCATE  6,9:PRINT"104. Files with download security are listed in ---  "+FILE.SEC$
  685. 16970  LOCATE  7,9:PRINT"105. Minimum security level to see SYSOP's menu --- "STR$(SEESYS)
  686. 16980  LOCATE  8,9:PRINT"106. Minimum security level to use RBBS-PC 'doors'  "+STR$(SEEDOORS)
  687. 16990  LOCATE  9,9:PRINT"107. Max # security violations before disconnect -- "STR$(NVIO)
  688. 17000  M22$=STR$(SSEC):IX=SA(1):FOR I=2 TO 8:IF IX<>SA(I) THEN M22$="(Variable)":GOTO 17010 ELSE NEXT
  689. 17010  LOCATE 10,9:PRINT"108. Security level for SYSOP functions ----------- "M22$
  690. 17020  M23$=STR$(MMSEC):IX=MD(1):FOR I=2 TO 20:IF IX<>MD(I) THEN M23$="(Variable)":GOTO 17030 ELSE NEXT
  691. 17030  LOCATE 11,9:PRINT"109. Security level for main menu functions ------- "M23$
  692. 17040  M24$=STR$(FILSEC):IX=FS(1):FOR I=2 TO 8:IF IX<>FS(I) THEN M24$="(Variable)":GOTO 17050 ELSE NEXT
  693. 17050  LOCATE 12,9:PRINT"110. Security level for file menu functions ------- "M24$
  694. 17060  M25$=STR$(UTLSEC):IX=UA(1):FOR I=2 TO 12:IF IX<>UA(I) THEN M25$="(Variable)":GOTO 17070 ELSE NEXT
  695. 17070  LOCATE 13,9:PRINT"111. Security level for utilities menu functions -- "M25$
  696. 17080  LOCATE 14,9:PRINT"112. File with privileged group passwords is named-  "PASWRD$
  697. 17090  LOCATE 15,9:PRINT"113. Max # of password changes in a session ------- "STR$(CHMAX)
  698. 17100  LOCATE 16,9:PRINT"114. Min. security level for temp. password changes "STR$(CHSEC)
  699. 17110  LOCATE 17,9:PRINT"115. Min. security level to overwrite on uploads -- "STR$(WOVR)
  700. 17115  LOCATE 18,9:PRINT"116. Security level of conference 'viewers' ------- "STR$(VIEWSEC)
  701. 17116  LOCATE 19,9:PRINT"117. User's security exempeted from 'packing' ----- "STR$(PACKSEC)
  702. 17120  GOSUB 24890
  703. 17130  GOSUB 22160
  704. 17140  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,16130,21550,17160
  705. 17150  GOTO 17130
  706. 17160  GOSUB 50340
  707. 17170  IF HJ$="101" THEN GOSUB 18730:GOSUB 17410:MINSEC=B1:GOTO 16910
  708. 17180  IF HJ$="102" THEN GOSUB 18730:GOSUB 17410:DFSEC=B1:GOTO 16910
  709. 17190  IF HJ$="103" THEN GOSUB 18730:GOSUB 17410:SYSSEC=B1:GOTO 16910
  710. 17200  IF HJ$="104" THEN GOSUB 17330:FILE.SEC$=SDEV$+":"+HJ$:GOTO 16910
  711. 17210  IF HJ$="105" THEN GOSUB 18730:GOSUB 17410:SEESYS=B1:GOTO 16910
  712. 17220  IF HJ$="106" THEN GOSUB 18730:GOSUB 17410:SEEDOORS=B1:GOTO 16910
  713. 17230  IF HJ$="107" THEN GOSUB 18730:GOSUB 17410:NVIO=B1:GOTO 16910
  714. 17240  IF HJ$="108" THEN GOTO 17460
  715. 17250  IF HJ$="109" THEN GOSUB 17460:MMSEC=B1:GOTO 16910
  716. 17260  IF HJ$="110" THEN GOSUB 17460:FILSEC=B1:GOTO 16910
  717. 17270  IF HJ$="111" THEN GOSUB 17460:UTLSEC=B1:GOTO 16910
  718. 17280  IF HJ$="112" THEN GOSUB 17330:PASWRD$=SDEV$+":"+HJ$:GOTO 16910
  719. 17290  IF HJ$="113" THEN LOCATE 24,1:PRINT SPC(79):LOCATE 24,1:PRINT "Maximum number of password changes is? (0 or more)";:GOSUB 17420:CHMAX=B1:IF B1<0 THEN 17290 ELSE 16910
  720. 17300  IF HJ$="114" THEN GOSUB 18730:GOSUB 17410:CHSEC=B1:GOTO 16910
  721. 17310  IF HJ$="115" THEN HJ$="overwriting files on upload":GOSUB 17410:WOVR=B1:GOTO 16910
  722. 17315  IF HJ$="116" THEN GOTO 16850
  723. 17316  IF HJ$="117" THEN GOSUB 18730:GOSUB 17410:PACKSEC=B1:GOTO 16910
  724. 17320  GOTO 17120
  725. 17330  X$=HJ$:LOCATE 24,5:PRINT"Specify drive (A->"+M$+") where file for option "+X$+" will be located. ";
  726. 17340  LINE INPUT;HJ$
  727. 17350  IF LEN(HJ$)<>1 THEN HJ$=X$:GOTO 17330
  728. 17360  GOSUB 60390
  729. 17370  IF HJ$<"A" OR HJ$>M$ THEN HJ$=X$:GOTO 17330
  730. 17380  SDEV$=HJ$
  731. 17390  GOSUB 14980
  732. 17400  RETURN
  733. 17410  LOCATE 24,1:PRINT SPC(79):LOCATE 24,1:PRINT "Security level for "+HJ$+" is? ";
  734. 17420  LINE INPUT;HK$
  735. 17430  B1=VAL(HK$)
  736. 17440  IF B1=0 AND HK$<>"0" THEN 17410
  737. 17450  RETURN
  738. 17460  IF HJ$="108" THEN COMD$="SYSOP":GOTO 18480
  739. 17470  IF HJ$="109" THEN COMD$="Main Menu":GOTO 18100
  740. 17480  IF HJ$="110" THEN COMD$="File System":GOTO 17820
  741. 17490  IF HJ$="111" THEN COMD$="Utilities"
  742. 17500  LOCATE 24,1:PRINT"Set ALL the "+COMD$+" commands to the SAME security level? (YES or NO)";
  743. 17510  LINE INPUT;X$
  744. 17520  IF LEN(X$)<1 OR LEN(X$)>3 THEN GOTO 17500
  745. 17530  SWAP HJ$,X$:GOSUB 60390:SWAP HJ$,X$
  746. 17540  IF X$="YES" OR X$="Y" THEN HJ$="all "+COMD$+" commands":GOSUB 17410:FOR I=1 TO 12:UA(I)=B1:NEXT:UTLSEC=B1:GOTO 16910
  747. 17550  IF X$="NO" OR X$="N" THEN GOTO 17570
  748. 17560  GOTO 17500
  749. 17570  CLS:I!=FRE(C$):COLOR 0,7,0:LOCATE 1,23:PRINT"RBBS-PC CPC12.3 Default Configuration";:COLOR FGR,BGR,BDR
  750. 17580  LOCATE  3,5:PRINT"The RBBS-PC Utilities Commands are as follows:
  751. 17590  LOCATE   4,8:PRINT"Command                       Security Level"
  752. 17600  LOCATE  5,10:PRINT"B)aud rate                     "+STR$(UA(1))
  753. 17610  LOCATE  6,10:PRINT"G)raphics                      "+STR$(UA(2))
  754. 17620  LOCATE  7,10:PRINT"H)elp                          "+STR$(UA(3))
  755. 17630  LOCATE  8,10:PRINT"L)ine feeds                    "+STR$(UA(4))
  756. 17640  LOCATE  9,10:PRINT"M)sg margin                    "+STR$(UA(5))
  757. 17650  LOCATE 10,10:PRINT"N)ulls                         "+STR$(UA(6))
  758. 17660  LOCATE 11,10:PRINT"P)ass word                     "+STR$(UA(7))
  759. 17670  LOCATE 12,10:PRINT"Q)uit to main menu             "+STR$(UA(8))
  760. 17680  LOCATE 13,10:PRINT"S)tatistics                    "+STR$(UA(9))
  761. 17690  LOCATE 14,10:PRINT"T)ime                          "+STR$(UA(10))
  762. 17700  LOCATE 15,10:PRINT"U)serlog                       "+STR$(UA(11))
  763. 17710  LOCATE 16,10:PRINT"!)Prompt sound                 "+STR$(UA(12))
  764. 17720  LOCATE 24,5:PRINT"Enter first letter of command (CR to end)";
  765. 17730  LINE INPUT;X$:IF X$="" GOTO 16910
  766. 17740  SWAP HJ$,X$
  767. 17750  GOSUB 60390
  768. 17760  SWAP HJ$,X$
  769. 17770  FF=INSTR("BGHLMNPQSTU!",X$)
  770. 17780  IF FF=0 THEN GOTO 17720
  771. 17790  HJ$="all "+COMD$+" '"+X$+"' commands":GOSUB 17410
  772. 17800  UA(FF)=B1
  773. 17810  GOTO 17570
  774. 17820  LOCATE 24,1:PRINT"Set ALL the "+COMD$+" commands to the SAME security level? (YES or NO)";
  775. 17830  LINE INPUT;X$
  776. 17840  IF LEN(X$)<1 OR LEN(X$)>3 THEN GOTO 17820
  777. 17850  SWAP HJ$,X$:GOSUB 60390:SWAP HJ$,X$
  778. 17860  IF X$="YES" OR X$="Y" THEN HJ$="all "+COMD$+" commands":GOSUB 17410:FOR I=1 TO 8:FS(I)=B1:NEXT:FILSEC=B1:GOTO 16910
  779. 17870  IF X$="NO" OR X$="N" THEN GOTO 17890
  780. 17880  GOTO 17820
  781. 17890  CLS:I!=FRE(C$):COLOR 0,7,0:LOCATE 1,23:PRINT"RBBS-PC CPC12.3 Default Configuration";:COLOR FGR,BGR,BDR
  782. 17900  LOCATE  3,5:PRINT"The RBBS-PC File System Commands are as follows:
  783. 17910  LOCATE   4,8:PRINT"Command                       Security Level"
  784. 17920  LOCATE  5,10:PRINT"D)ownload a file               "+STR$(FS(1))
  785. 17930  LOCATE  6,10:PRINT"G)oodbye                       "+STR$(FS(2))
  786. 17940  LOCATE  7,10:PRINT"H)elp                          "+STR$(FS(3))
  787. 17950  LOCATE  8,10:PRINT"L)ist files                    "+STR$(FS(4))
  788. 17960  LOCATE  9,10:PRINT"N)ew files                     "+STR$(FS(5))
  789. 17970  LOCATE 10,10:PRINT"Q)uit to main menu             "+STR$(FS(6))
  790. 17980  LOCATE 11,10:PRINT"U)pload a file                 "+STR$(FS(7))
  791. 17990  LOCATE 12,10:PRINT"?) Xfer info                   "+STR$(FS(8))
  792. 18000  LOCATE 24,5:PRINT"Enter first letter of command (CR to end)";
  793. 18010  LINE INPUT;X$:IF X$="" GOTO 16910
  794. 18020  SWAP HJ$,X$
  795. 18030  GOSUB 60390
  796. 18040  SWAP HJ$,X$
  797. 18050  FF=INSTR("DGHLNQU?",X$)
  798. 18060  IF FF=0 THEN GOTO 18000
  799. 18070  HJ$="all "+COMD$+" '"+X$+"' commands":GOSUB 17410
  800. 18080  FS(FF)=B1
  801. 18090  GOTO 17890
  802. 18100  LOCATE 24,1:PRINT"Set ALL the "+COMD$+" commands to the SAME security level? (YES or NO)";
  803. 18110  LINE INPUT;X$
  804. 18120  IF LEN(X$)<1 OR LEN(X$)>3 THEN GOTO 18100
  805. 18130  SWAP HJ$,X$:GOSUB 60390:SWAP HJ$,X$
  806. 18140  IF X$="YES" OR X$="Y" THEN HJ$="all "+COMD$+" commands":GOSUB 17410:FOR I=1 TO 20:MD(I)=B1:NEXT:MMSEC=B1:GOTO 16910
  807. 18150  IF X$="NO" OR X$="N" THEN GOTO 18170
  808. 18160  GOTO 18100
  809. 18170  CLS:I!=FRE(C$):COLOR 0,7,0:LOCATE 1,23:PRINT"RBBS-PC CPC12.3 Default Configuration";:COLOR FGR,BGR,BDR
  810. 18180  LOCATE  3,5:PRINT"The RBBS-PC Main Menu Commands are as follows:
  811. 18190  LOCATE   4,8:PRINT"Command                       Security Level"
  812. 18200  LOCATE  5,10:PRINT"B)ulletins                     "+STR$(MD(1))
  813. 18210  LOCATE  6,10:PRINT"C)omments                      "+STR$(MD(2))
  814. 18220  LOCATE  7,10:PRINT"D)oor subystem                 "+STR$(MD(3))
  815. 18230  LOCATE  8,10:PRINT"E)nter message                 "+STR$(MD(4))
  816. 18240  LOCATE  9,10:PRINT"F)iles system                  "+STR$(MD(5))
  817. 18250  LOCATE 10,10:PRINT"G)oodbye                       "+STR$(MD(6))
  818. 18260  LOCATE 11,10:PRINT"H)elp                          "+STR$(MD(7))
  819. 18270  LOCATE 12,10:PRINT"I)nitial welcome               "+STR$(MD(8))
  820. 18275  LOCATE 13,10:PRINT"J)oin a conference             "+STR$(MD(9))
  821. 18280  LOCATE 14,10:PRINT"K)ill messages                 "+STR$(MD(10))
  822. 18290  LOCATE 15,10:PRINT"L)ines per page                "+STR$(MD(11))
  823. 18300  LOCATE 16,10:PRINT"O)perator                      "+STR$(MD(12))
  824. 18310  LOCATE 17,10:PRINT"P)ersonal mail                 "+STR$(MD(13))
  825. 18320  LOCATE 18,10:PRINT"Q)uick scan                    "+STR$(MD(14))
  826. 18330  LOCATE 19,10:PRINT"R)ead messages                 "+STR$(MD(15))
  827. 18340  LOCATE 20,10:PRINT"S)can messages                 "+STR$(MD(16))
  828. 18350  LOCATE 21,10:PRINT"U)tilities (more)              "+STR$(MD(17))
  829. 18355  LOCATE 22,10:PRINT"V)iew a conference             "+STR$(MD(18))
  830. 18360  LOCATE 23,10:PRINT"X)Expert on/off                "+STR$(MD(19))
  831. 18370  LOCATE 24,10:PRINT"?)Functions                    "+STR$(MD(20))
  832. 18380  LOCATE 25,5:PRINT"Enter first letter of command (CR to end)";
  833. 18390  LINE INPUT;X$:IF X$="" GOTO 16910
  834. 18400  SWAP HJ$,X$
  835. 18410  GOSUB 60390
  836. 18420  SWAP HJ$,X$
  837. 18430  FF=INSTR("BCDEFGHIJKLOPQRSUVX?",X$)
  838. 18440  IF FF=0 THEN GOTO 18380
  839. 18450  HJ$="all "+COMD$+" '"+X$+"' commands":GOSUB 17410
  840. 18460  MD(FF)=B1
  841. 18470  GOTO 18170
  842. 18480  LOCATE 24,1:PRINT"Set ALL the "+COMD$+" commands to the SAME security level? (YES or NO)";
  843. 18490  LINE INPUT;X$
  844. 18500  IF LEN(X$)<1 OR LEN(X$)>3 THEN GOTO 18480
  845. 18510  SWAP HJ$,X$:GOSUB 60390:SWAP HJ$,X$
  846. 18520  IF X$="YES" OR X$="Y" THEN HJ$="all "+COMD$+" commands":GOSUB 17410:FOR I=1 TO 8:SA(I)=B1:NEXT:SSEC=B1:GOTO 16910
  847. 18530  IF X$="NO" OR X$="N" THEN GOTO 18550
  848. 18540  GOTO 18480
  849. 18550  CLS:I!=FRE(C$):COLOR 0,7,0:LOCATE 1,23:PRINT"RBBS-PC CPC12.3 Default Configuration";:COLOR FGR,BGR,BDR
  850. 18560  LOCATE  3,5:PRINT"The RBBS-PC Main Menu Commands are as follows:
  851. 18570  LOCATE   4,8:PRINT"Command                       Security Level"
  852. 18580  LOCATE  5,10:PRINT" 1 List comments               "+STR$(SA(1))
  853. 18590  LOCATE  6,10:PRINT" 2 List callers log            "+STR$(SA(2))
  854. 18600  LOCATE  7,10:PRINT" 3 Recover a Msg               "+STR$(SA(3))
  855. 18610  LOCATE  8,10:PRINT" 4 Erase comments              "+STR$(SA(4))
  856. 18620  LOCATE  9,10:PRINT" 5 Users maintenance           "+STR$(SA(5))
  857. 18630  LOCATE 10,10:PRINT" 6 Toggle page bell            "+STR$(SA(6))
  858. 18650  LOCATE 11,10:PRINT" 7 Exit to DOS 2               "+STR$(SA(7))
  859. 18660  LOCATE 12,10:PRINT" 8 Display active users        "+STR$(SA(8))
  860. 18670  LOCATE 24,5:PRINT"Enter SYSOP function number (CR to end)";
  861. 18680  LINE INPUT;X$:IF X$="" GOTO 16910
  862. 18690  IF VAL(X$)<1 OR VAL(X$)>9 THEN GOTO 18670
  863. 18700  HJ$="all "+COMD$+" '"+X$+"' commands":GOSUB 17410
  864. 18710  SA(VAL(X$))=B1
  865. 18720  GOTO 18550
  866. 18730  HJ$="option "+HJ$:RETURN
  867. 18740  LOCATE 24,1:PRINT SPC(79);:IF M5$="NOVICE" THEN XPR=0
  868. 18750  IF M5$="EXPERT" THEN XPR=-1
  869. 18760  FDEV$=M7$+M6$
  870. 18770  IF M10$="OFF" THEN BELL=0
  871. 18780  IF M10$="ON" THEN BELL=-1
  872. 18790  IF M11$="YES" THEN PRT=TRUE
  873. 18800  IF M11$="NO" THEN PRT=FALSE
  874. 18810  IF M12$="COMPILED" THEN COMPILED=TRUE
  875. 18820  IF M12$="BASICA" THEN COMPILED=FALSE
  876. 18830  IF M14$="OFF" THEN SPEAKER=0
  877. 18840  IF M14$="ON" THEN SPEAKER=-1
  878. 18850  IF M15$="YES" THEN OPTBUL=TRUE
  879. 18860  IF M15$="NO" THEN OPTBUL=FALSE
  880. 18870  IF M16$="YES" THEN REMIND=TRUE
  881. 18880  IF M16$="NO" THEN REMIND=FALSE
  882. 18890  IF M17$="YES" THEN BTOK=TRUE
  883. 18900  IF M17$="NO" THEN BTOK=FALSE
  884. 18910  IF M18$="YES" THEN OPTWEL=TRUE
  885. 18920  IF M18$="NO" THEN OPTWEL=FALSE
  886. 18930  IF M19$="YES" THEN UPLDDLD=TRUE
  887. 18940  IF M19$="NO" THEN UPLDDLD=FALSE
  888. 18950  IF M21$="YES" THEN WINDW=TRUE
  889. 18960  IF M21$="NO" THEN WINDW=FALSE
  890. 18970  IF M26$="YES" THEN M26=TRUE
  891. 18980  IF M26$="NO" THEN M26=FALSE
  892. 18985  F=0:IF ISWP THEN GOSUB 50300:F=1
  893. 18990  OPEN "O",#1,CONFIG$
  894. 19000  IF INSTR(RDEV$,":")<1 THEN RDEV$=RDEV$+":"
  895. 19010  IF INSTR(MDEV$,":")<1 THEN MDEV$=MDEV$+":"
  896. 19020  IF INSTR(SDEV$,":")<1 THEN SDEV$=SDEV$+":"
  897. 19030  IF INSTR(TDEV$,":")<1 THEN TDEV$=TDEV$+":"
  898. 19040  WRITE #1,FDEV$,PASS1$,PASS2$,NFIR$,NLAS$,CBACK,ANNOY.ON,ANNOY.OFF,TIME.MAX!,MESSAGE.MAX,LAPSE.MAX,UDIR$,XPR,BULL,BELL,PRT,COMPILED,MENU1$,MENU2$,MENU3$,MENU4$,MENU5$,CONF$,VIEWSEC,OPTWEL,UPLDDLD,PL,LW,WINDW,MDEV$
  899. 19050  BULLETIN$=TDEV$+BULLETIN$
  900. 19060  BULLET1$=TDEV$+BULLET1$
  901. 19070  FOR I=1 TO 8
  902. 19080  HELP$(I)=HTDEV$+":"+HELP$+RIGHT$(STR$(I),1)
  903. 19090  NEXT
  904. 19100  MD(5)=MINSEC:FS(2)=MINSEC
  905. 19110  WRITE #1,MESSAGES$,MESSAGES.BAK$,CALLERS$,COMMENTS$,USERS$,WELCOME$,NEWUSER$,DIR$,M13$,OPTBUL,SPEAKER,TDEV$,DOSVER%,FGR,BGR,BDR,RBBS$,CTTY$,OMIT.DIR$,OMIT.UDIR$
  906. 19120  WRITE #1,HELP$(1),HELP$(2),HELP$(3),HELP$(4),HELP$(5),HELP$(6),HELP$(7),HELP$(8),BULLETIN$,BULLET1$,BTDEV$,REMIND,BTOK,SEEDOORS,MAXRBBS,SHRD,CYCLE,USERMAX,MSGMAX!,BADNAME$
  907. 19130  WRITE #1,MINSEC,DFSEC,SYSSEC,FILE.SEC$,SEESYS,KEYPW$,NVIO,SA(1),SA(2),SA(3),SA(4),SA(5),SA(6),SA(7),SA(8),PASWRD$,CHMAX,CHSEC,WOVR,MTERM,M26
  908. 19140  WRITE #1,MD(1),MD(2),MD(3),MD(4),MD(5),MD(6),MD(7),MD(8),MD(9),MD(10),MD(11),MD(12),MD(13),MD(14),MD(15),MD(16),MD(17),MD(18),MD(19),MD(20),FS(1),FS(2),FS(3),FS(4),FS(5),FS(6),FS(7),FS(8)
  909. 19150  WRITE #1,UA(1),UA(2),UA(3),UA(4),UA(5),UA(6),UA(7),UA(8),UA(9),UA(10),UA(11),UA(12),COMPAQ
  910. 19160  WRITE #1,SM1$,SM2$,SM3$,SM4$,SM5$,SM6$,SM7$,SM8$,SM9$,SM10$,SM11$,PACKSEC
  911. 19170  CLOSE #1
  912. 19175  IF F=1 THEN GOSUB 50300
  913. 19180  NAME USERS$ AS USERS$
  914. 19190  GOTO 60370
  915. 19200  IFUSER=0
  916. 19220  GOSUB 22760
  917. 19230  IF IFUSER=1 THEN GOTO 19390
  918. 19240  IFUSER=1
  919. 19250  INUSER=USERLOF+1
  920. 19260  ILUSER=USERLOF
  921. 19270  IF ILUSER<USERMAX THEN 19400
  922. 19280  IF ILUSER=USERMAX THEN USW=1:GOTO 20030
  923. 19290  CLS
  924. 19300  GOSUB 60380
  925. 19310  LOCATE 15,5:PRINT USERS$+" file contains"+STR$(USERLOF)+" records!
  926. 19320  LOCATE 17,5:PRINT "Option 125 requested a "+USERS$+" file of"+STR$(USERMAX)+" records."
  927. 19330  GOSUB 60380
  928. 19340  LOCATE 19,5:PRINT "Please revise option 125 to be equal to or greater than"+STR$(USERLOF)
  929. 19350  IWAIT!=FNTI!+10
  930. 19360  GOSUB 60440
  931. 19380  GOTO 21550
  932. 19390  IF USERMAX<INUSER THEN 19300
  933. 19391  IF USERMAX=ILUSER THEN USW=1:GOTO 20030
  934. 19400  OPEN "R",1,USERS$,128
  935. 19410  FIELD 1,31 AS O.N$,15 AS OG$,2 AS OH$,14 AS OI$,24 AS OJ$,19 AS OL$,14 AS OM$,3 AS OO$,2 AS OQ$,2 AS OS$,2 AS OT$
  936. 19415  GOSUB 50350
  937. 19420  A$=F$:GOSUB 50095:OPEN "R",2,A$,128
  938. 19430  FIELD 2,31 AS N$,15 AS PW$,2 AS SL$,14 AS OP$,24 AS CS$,19 AS MA$,14 AS TD$,3 AS LND$,2 AS UDL$,2 AS UUL$,2 AS ET$
  939. 19440  A! = INUSER-1
  940. 19460  FOR J = 1 TO A!
  941. 19470    GET 1
  942. 19480    LSET N$ = O.N$
  943. 19490    LSET PW$ = OG$
  944. 19500    LSET SL$ = OH$
  945. 19510    LSET OP$ = OI$
  946. 19520    LSET CS$ = OJ$
  947. 19530    LSET MA$ = OL$
  948. 19540    LSET TD$ = OM$
  949. 19550    LSET LND$ = OO$
  950. 19560    LSET UDL$ = OQ$
  951. 19570    LSET UUL$ = OS$
  952. 19580    LSET ET$ = OT$
  953. 19590    PUT 2
  954. 19600    GOSUB 25020
  955. 19610  NEXT
  956. 19630  IF A!=USERMAX THEN GOTO 19800
  957. 19650  FOR J=A!+1 TO USERMAX
  958. 19660    LSET N$   = SPACE$(31)
  959. 19670    LSET PW$  = SPACE$(15)
  960. 19680    LSET SL$  = SPACE$(2)
  961. 19690    LSET OP$  = SPACE$(14)
  962. 19700    LSET CS$  = SPACE$(24)
  963. 19710    LSET MA$  = SPACE$(19)
  964. 19720    LSET TD$  = SPACE$(14)
  965. 19730    LSET LND$ = SPACE$(3)
  966. 19740    LSET UDL$ = SPACE$(2)
  967. 19750    LSET UUL$ = SPACE$(2)
  968. 19760    LSET ET$  = SPACE$(2)
  969. 19770    PUT 2
  970. 19780    GOSUB 25020
  971. 19790  NEXT
  972. 19800  ILUSER=LOC(2)                 ' point to last available user record
  973. 19810  CLOSE 1,2
  974. 19815  GOSUB 50380
  975. 19820  GOSUB 50340:LOCATE 24,5:PRINT"Delete the old "+USERS$+" file? (YES or NO)?";
  976. 19830  GOSUB 22380:ON ANSW GOTO 19890,19910,19820,19820
  977. 19890  A$=USERS$:GOSUB 50096:NAME USERS$ AS A$
  978. 19900  GOTO 19920
  979. 19910  KILL USERS$
  980. 19920  GOSUB 50350:A$=F$:GOSUB 50095:NAME A$ AS USERS$
  981. 19930  GOTO 20030
  982. 19940  GOSUB 50000
  983. 20030  NAME MESSAGES$ AS MESSAGES$
  984. 20040  GOTO 60370
  985. 20050  MSGMAX.OLD!=MSGMAX!:USERMAX.OLD=USERMAX:GOSUB 22770:MSGMAX!=MSGMAX.OLD!:USERMAX=USERMAX.OLD:OPEN "R",1,MESSAGES$
  986. 20060  FIELD 1,128 AS R$
  987. 20070  GET 1,1
  988. 20080  MSW=0
  989. 20090  NAM$=SPACE$(31)
  990. 20110  IF NAM$<>MID$(R$,21,31)THEN 21010
  991. 20115  OLDMAX=VAL(MID$(R$,127,2))
  992. 20130  IF MSGMAX!=ILMSG AND OLDMAX=MAXRBBS THEN MSW=1:CLOSE 1:GOTO 24970
  993. 20140  IF MSGMAX!>INMSG AND OLDMAX=MAXRBBS THEN GOTO 20340
  994. 20150  IF MSGMAX!<INMSG THEN GOTO 20170
  995. 20155  IF MAXRBBS<=OLDMAX THEN GOTO 20340
  996. 20160  IF (ILMSG-INMSG)=>(MAXRBBS-OLDMAX) THEN GOTO 20340
  997. 20161  CLS
  998. 20162  GOSUB 60380
  999. 20163  LOCATE 15,5:PRINT MESSAGES$+" file contains"+STR$(OLDMAX)+" nodes!"
  1000. 20164  LOCATE 17,5:PRINT "Option 121 requested a "+MESSAGES$+" file with"+STR$(MAXRBBS)+" nodes."
  1001. 20165  GOSUB 60380
  1002. 20166  LOCATE 19,5:PRINT "Please revise option 124 to be equal to or greater than"+STR$(MSGMAX!+(MAXRBBS-OLDMAX))
  1003. 20167  GOTO 20240
  1004. 20170  CLS
  1005. 20180  GOSUB 60380
  1006. 20190  LOCATE 15,5:PRINT MESSAGES$+" file contains"+STR$(INMSG-1)+" active records!
  1007. 20200  LOCATE 17,5:PRINT "Option 124 requested a "+MESSAGES$+" file of"+STR$(MSGMAX!)+" records."
  1008. 20210  GOSUB 60380
  1009. 20230  LOCATE 19,5:PRINT "Please revise option 124 to be equal to or greater than"+STR$(INMSG)
  1010. 20240  IWAIT!=FNTI!+10
  1011. 20250  GOSUB 60440
  1012. 20260  CLOSE 1
  1013. 20270  GOTO 21550
  1014. 20340  MSGSTRT=IFMSG
  1015. 20350  A$=MESSAGES$:GOSUB 50095:OPEN "R",2,A$,128
  1016. 20360  FIELD 2,128 AS RR$
  1017. 20370  MID$(R$,127,2)=STR$(MAXRBBS):PUT 1,1
  1018. 20380  IF MAXRBBS<=OLDMAX THEN OLDMAX=MAXRBBS
  1019. 20410  FOR J!=1 TO OLDMAX+1
  1020. 20420  GET 1,J!
  1021. 20430    LSET RR$=R$
  1022. 20440    PUT 2                       ' write out existing "door" records
  1023. 20450    GOSUB 25030
  1024. 20460  NEXT
  1025. 20470  IF MAXRBBS<=OLDMAX THEN GOTO 20530
  1026. 20480  FOR J! = OLDMAX+1 TO MAXRBBS
  1027. 20490    GOSUB 20800
  1028. 20500    PUT 2                       ' write out expansion "door" records
  1029. 20510    GOSUB 25030
  1030. 20520  NEXT
  1031. 20530  GET 1,MSGSTRT                 ' point to first message record
  1032. 20540  IF IFMSG=INMSG THEN IFMSG=LOC(2)+1:INMSG=IFMSG:GOTO 20630
  1033. 20550  STRT=IFMSG
  1034. 20560  IFMSG=LOC(2)+1
  1035. 20570  FOR J!=STRT TO INMSG-1
  1036. 20580  GET 1,J!
  1037. 20590    LSET RR$=R$
  1038. 20600    PUT 2                       ' write out existing message records
  1039. 20610    GOSUB 25030
  1040. 20620  NEXT
  1041. 20630  CLOSE 1
  1042. 20640  INEWMSG=LOC(2)+1
  1043. 20650  IF MSGMAX!<INMSG THEN GOTO 20710
  1044. 20660  FOR J!=INMSG TO MSGMAX!
  1045. 20670    LSET RR$ = SPACE$(128)
  1046. 20680    PUT 2,J!                    ' write out expansion message records
  1047. 20690    GOSUB 25030
  1048. 20700  NEXT
  1049. 20710  INMSG=INEWMSG:ILMSG=LOC(2)
  1050. 20720  GOSUB 21430
  1051. 20730  GOSUB 50340:LOCATE 24,5:PRINT"Delete the old "+MESSAGES$+" file? (YES or NO)?";
  1052. 20740  GOSUB 22380:ON ANSW GOTO 20750,20770,20730,20730
  1053. 20750  A$=MESSAGES$:GOSUB 50096:NAME MESSAGES$ AS A$
  1054. 20760  GOTO 20780
  1055. 20770  KILL MESSAGES$
  1056. 20780  A$=MESSAGES$:GOSUB 50095:NAME A$ AS MESSAGES$
  1057. 20790  GOTO 24970
  1058. 20800  LSET RR$=SPACE$(31)+"-1 0 0 0 0 0 0 0    0 0 0I":RETURN
  1059. 20810  GOSUB 50100
  1060. 21000  GOTO 24970
  1061. 21010  LOCATE 22,1:PRINT SPC(79);:LOCATE 22,15:PRINT"Reformat old (pre CPC12.3) "+MESSAGES$+" file? (YES or NO)?";
  1062. 21020  GOSUB 22380:ON ANSW GOTO 24970,21030,21010,21010
  1063. 21030  A$=MESSAGES$:GOSUB 50095:OPEN "R",2,A$,128
  1064. 21040  FIELD 2,128 AS RR$
  1065. 21050  LSET RR$=SPACE$(126)+STR$(MAXRBBS)
  1066. 21060  LE=VAL(LEFT$(R$,8))
  1067. 21070  CJ=VAL(MID$(R$,11,10))
  1068. 21080  MID$(RR$,1,8)=STR$(LE)
  1069. 21090  MID$(RR$,11,10)=STR$(CJ)
  1070. 21100  PUT 2,1                     ' write out first record
  1071. 21110  GOSUB 25030
  1072. 21120  LSET RR$=SPACE$(128)
  1073. 21130  MID$(RR$,1,31)=MID$(R$,21,31)
  1074. 21140  MID$(RR$,32,25)=MID$(R$,9,2)+MID$(R$,52,23)
  1075. 21150  MID$(RR$,57,1)="I"
  1076. 21160  PUT 2                       ' write first "door" record of old msg file
  1077. 21170  A2!=1
  1078. 21180  A3!=MAXRBBS
  1079. 21190  A4!=LOF(1)/128-1
  1080. 21200  IF MAXRBBS=1 GOTO 21260
  1081. 21210  FOR J! = A2!+1 TO A3!
  1082. 21220    GOSUB 20800
  1083. 21230    PUT 2                       ' write out expansion "door" records
  1084. 21240    GOSUB 25030
  1085. 21250  NEXT
  1086. 21260  IFMSG=LOC(2)+1                ' point to first message record
  1087. 21270  FOR J! = 1 TO A4!
  1088. 21280    GET 1
  1089. 21290    LSET RR$=R$
  1090. 21300    PUT 2                       ' write out existing message records
  1091. 21310    GOSUB 25030
  1092. 21320  NEXT
  1093. 21330  CLOSE 1
  1094. 21340  INMSG=LOC(2)                  ' point to next available message record
  1095. 21350  IF LOC(2)=>MSGMAX! GOTO 21420
  1096. 21360  INMSG=LOC(2)+1                ' point to next available message record
  1097. 21370  FOR J!=INMSG TO MSGMAX!
  1098. 21380    LSET RR$ = SPACE$(128)
  1099. 21390    PUT 2,J!                    ' write out expansion message records
  1100. 21400    GOSUB 25030
  1101. 21410  NEXT
  1102. 21420  ILMSG=LOC(2)                  ' point to last available message record
  1103. 21422  GOSUB 21430:GOTO 20730
  1104. 21430  GET 2,1
  1105. 21435  IF ICHANGE THEN IFUSER=IFUSER.NEW:INUSER=INUSER.NEW:ILUSER=ILUSER.NEW
  1106. 21439  MID$(RR$,52,38)=SPACE$(38)   'reset all counters before filling
  1107. 21440  MID$(RR$,52,5)=STR$(IFUSER)  '52-56 = first rec. of msgs file
  1108. 21450  MID$(RR$,57,5)=STR$(INUSER)  '57-61 = next avail. user record
  1109. 21460  MID$(RR$,62,5)=STR$(ILUSER)  '62-66 = last rec. of user file
  1110. 21470  MID$(RR$,67,1)=SPACE$(1)     '   67 = RBBS curretnly reserving users
  1111. 21480  MID$(RR$,68,7)=STR$(IFMSG)   '68-74 = first rec. of msgs file
  1112. 21490  MID$(RR$,75,7)=STR$(INMSG)   '75-81 = next avail. msgs record
  1113. 21500  MID$(RR$,82,7)=STR$(ILMSG)   '82-88 = last rec. of msgs file
  1114. 21510  MID$(RR$,89,1)=SPACE$(1)     '   89 = RBBS curretnly reserving msgs
  1115. 21520  PUT 2,1
  1116. 21530  CLOSE 2
  1117. 21540  RETURN
  1118. 21550  CURPAGE=7
  1119. 21560  GOSUB 22760
  1120. 21570  GOSUB 24800
  1121. 21580  LOCATE  3,9:PRINT"121. Maximum number of concurrent RBBS-PC's  -------"STR$(MAXRBBS)
  1122. 21590  IF MAXRBBS=1 THEN MTYPE$="single RBBS-PC copy " ELSE MTYPE$="concurrent RBBS-PC's":GOSUB 21900:IF SHRD<0 OR SHRD>4 THEN GOTO 21810
  1123. 21600  LOCATE  4,9:PRINT"122. Environment running "+MTYPE$+" ------ "+ENVIR$
  1124. 21610  LOCATE  5,9:PRINT"123. RBBS-PC 'recycle' method when users log off --- "+RECYCLE$
  1125. 21615  IF MSGMAX!<((5*MESSAGE.MAX)+1+MAXRBBS) THEN MSGMAX!=(5*MESSAGE.MAX)+1+MAXRBBS
  1126. 21620  LOCATE  6,9:PRINT"124. Max. # users allowed in "+USERS$+" file ";STRING$(17-LEN(USERS$),"-");STR$(USERMAX)
  1127. 21630  LOCATE  7,9:PRINT"125. Max. # records in "+MESSAGES$+" file ";STRING$(23-LEN(MESSAGES$),"-");STR$(MSGMAX!)
  1128. 21635  LOCATE  8,9:PRINT"126. Maximum number of messages allowed ------------"STR$(MESSAGE.MAX)
  1129. 21636  LOCATE  9,9:PRINT"127. Conference File Maintenance."
  1130. 21640  GOSUB 24890
  1131. 21650  GOSUB 22160
  1132. 21660  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,16910,23000,21680
  1133. 21670  GOTO 21650
  1134. 21680  GOSUB 50340
  1135. 21690  IF HJ$="121" THEN GOTO 21750
  1136. 21700  IF HJ$="122" THEN GOTO 21810
  1137. 21710  IF HJ$="123" THEN GOTO 21950
  1138. 21720  IF HJ$="125" THEN GOSUB 22040:GOTO 21570
  1139. 21730  IF HJ$="124" THEN GOSUB 22100:GOTO 21570
  1140. 21735  IF HJ$="126" THEN GOTO 13890
  1141. 21736  IF HJ$="127" THEN GOTO 25040
  1142. 21740  GOTO 21640
  1143. 21750  GOSUB 50340:LOCATE 24,5:PRINT"Maximum number of conurrent RBBS-PC's? (a value between 1 and 9)";
  1144. 21760  LINE INPUT;HJ$
  1145. 21770  B1=VAL(HJ$)
  1146. 21780  IF B1<1 OR B1>9 THEN GOTO 21750
  1147. 21790  MAXRBBS=B1
  1148. 21800  GOTO 21550
  1149. 21810  CLS:LOCATE  3,5:PRINT"RBBS-PC is supported in the following:"
  1150. 21820  LOCATE  5,20:PRINT"Environment"
  1151. 21825  LOCATE  7,10:PRINT"0. Single RBBS-PC in an IBM DOS environment"
  1152. 21830  LOCATE  9,10:PRINT"1. MultiLink (multi-tasking under single DOS)"
  1153. 21840  LOCATE 11,10:PRINT"2. Omninet (CORVUS)"
  1154. 21850  LOCATE 13,10:PRINT"3. PC-NET (Orchid)"
  1155. 21860  LOCATE 15,10:PRINT"4. Top-View (IBM's multi-tasking for DOS 3.1) -- not yet supported"
  1156. 21870  GOSUB 50340:LOCATE 24,5:PRINT"Select environment (0 to 4, CR to end)";
  1157. 21880  LINE INPUT;X$:IF X$="" THEN GOTO 21550 ELSE SHRD=VAL(X$):GOSUB 21890:GOTO 21550
  1158. 21890  IF SHRD<0 OR SHRD>4 GOTO 21870
  1159. 21895  IF SHRD=0 THEN ENVIR$="IBM's DOS"
  1160. 21900  IF SHRD=1 THEN ENVIR$="MultiLink"
  1161. 21910  IF SHRD=2 THEN ENVIR$="Omninet"
  1162. 21920  IF SHRD=3 THEN ENVIR$="PC-NET"
  1163. 21930  IF SHRD=4 THEN ENVIR$="Top-View -- future"
  1164. 21940  RETURN
  1165. 21950  GOSUB 50340:LOCATE 24,5:PRINT"How RBBS-PC recycles when users logs off (SYSTEM or INTERNAL)? ";
  1166. 21960  LINE INPUT;HJ$
  1167. 21970  IF LEN(HJ$)<1 OR LEN(HJ$)>8 THEN GOTO 21950
  1168. 21980  GOSUB 60390
  1169. 21990  IF HJ$="SYSTEM" THEN CYCLE=1:GOTO 22020
  1170. 22000  IF HJ$="INTERNAL" THEN CYCLE=0:GOTO 22020
  1171. 22010  GOTO 21950
  1172. 22020  RECYCLE$=HJ$
  1173. 22030  GOTO 21550
  1174. 22040  GOSUB 50340:LOCATE 24,5:PRINT"Max. records in preformatted "+MESSAGES$+" file (>"+STR$((5*MESSAGE.MAX)+1+MAXRBBS)+"):";
  1175. 22050  LINE INPUT;HJ$
  1176. 22060  B1!=VAL(HJ$)
  1177. 22070  IF B1!<(5*MESSAGE.MAX) OR B1!>1E+07 THEN GOTO 22040
  1178. 22080  MSGMAX!=B1!
  1179. 22090  RETURN
  1180. 22100  GOSUB 50340:LOCATE 24,5:PRINT"Max. records in preformatted "+USERS$+" file:";
  1181. 22110  LINE INPUT;HJ$
  1182. 22120  B1=VAL(HJ$)
  1183. 22130  IF B1<1 OR B1>99999 THEN GOTO 22100
  1184. 22140  USERMAX=B1
  1185. 22150  RETURN
  1186. 22160  I!=FRE(C$):Y$=INKEY$
  1187. 22170  IX=0
  1188. 22180  IF LEN(Y$)<1 THEN GOTO 22160
  1189. 22190  IF LEN(Y$)=2 THEN GOTO 22240
  1190. 22200  IF ASC(Y$)=13 THEN IX=12:RETURN
  1191. 22210  PRINT Y$;
  1192. 22220  HJ$=HJ$+Y$
  1193. 22230  RETURN
  1194. 22240  IX=ASC(RIGHT$(Y$,1))
  1195. 22250  Y$=""
  1196. 22260  IF IX<59 OR IX>81 THEN RETURN
  1197. 22270  IX=IX-58
  1198. 22280  IF IX<9 THEN RETURN
  1199. 22290  IF IX=15 THEN IX=10:RETURN
  1200. 22300  IF IX=21 THEN IX=9:RETURN
  1201. 22310  IF IX=23 THEN IX=11:RETURN
  1202. 22320  IX=0
  1203. 22330  RETURN
  1204. 22340  LOCATE 22,15:PRINT SPC(64);:LOCATE 22,15:PRINT TIME$;" ";:COLOR 0,7:PRINT " Reading Data, Wait a sec !!! ";:COLOR FGR,BGR,BDR:RETURN
  1205. 22350  GOSUB 50340
  1206. 22360  LOCATE 24,1:PRINT SPC(79);:LOCATE 24,5:PRINT"Are you satisfied with all changes ? (Y/N) or <Q)uit ";
  1207. 22370  GOSUB 22380:ON ANSW GOTO 12190,18740,60360,22350
  1208. 22380  LINE INPUT;HJ$
  1209. 22390  IF LEN(HJ$)<1 OR LEN(HJ$)>3 THEN GOTO 22470
  1210. 22400  GOSUB 60390
  1211. 22410  IF HJ$="NO" THEN ANSW=1:RETURN
  1212. 22420  IF HJ$="N" THEN HJ$="NO":ANSW=1:RETURN
  1213. 22430  IF HJ$="YES" THEN ANSW=2:RETURN
  1214. 22440  IF HJ$="Y" THEN HJ$="YES":ANSW=2:RETURN
  1215. 22450  IF HJ$="QUIT" THEN ANSW=3:RETURN
  1216. 22460  IF HJ$="Q" THEN ANSW=3:RETURN
  1217. 22470  ANSW=4:RETURN
  1218. 22480  GOSUB 50340:LOCATE 24,5:PRINT"To which copy of RBBS-PC will these options apply (1 to 9)?";
  1219. 22490  LINE INPUT;HJ$
  1220. 22500  IF LEN(HJ$)<1 OR LEN(HJ$)>1 THEN GOTO 22480
  1221. 22510  IF VAL(HJ$)<1 OR VAL(HJ$)>9 THEN GOTO 22480
  1222. 22520  MID$(CONFIG$,5,1)=HJ$
  1223. 22530  RETURN
  1224. 22540  GOSUB 50340:PRINT "Not implemented yet!";
  1225. 22550  RETURN
  1226. 22560  OPEN "R",2,MESSAGES$,128
  1227. 22570  FIELD 2,128 AS RR$
  1228. 22580  GET 2,1
  1229. 22590  MID$(RR$,1,8)=STR$(ILMSGNUM)  ' 1- 8 = number of last message on system
  1230. 22599  MID$(RR$,52,38)=SPACE$(38)   'reset all counters before filling
  1231. 22600  MID$(RR$,52,5)=STR$(IFUSER)  '52-56 = first rec. of msgs file
  1232. 22610  IF VAL(MID$(RR$,57,5))<INUSER AND VAL(MID$(RR$,57,5))>0 THEN INUSER=VAL(MID$(RR$,57,5))
  1233. 22620  IF INUSER<IFUSER THEN INUSER=IFUSER
  1234. 22630  MID$(RR$,57,5)=STR$(INUSER)  '57-61 = next avail. user record
  1235. 22640  MID$(RR$,62,5)=STR$(ILUSER)  '62-66 = last rec. of user file
  1236. 22650  MID$(RR$,67,1)=SPACE$(1)     '   67 = RBBS curretnly reserving users
  1237. 22660  IF MSW AND VAL (MID$(RR$,68,21))>0 THEN GOTO 22730
  1238. 22670  MID$(RR$,68,7)=STR$(IFMSG)   '68-74 = first rec. of msgs file
  1239. 22680  IF VAL(MID$(RR$,75,7))<INMSG AND VAL(MID$(RR$,75,7))>0 THEN INMSG=VAL(MID$(RR$,75,7))
  1240. 22690  IF INMSG<IFMSG THEN INMSG=IFMSG
  1241. 22700  MID$(RR$,75,7)=STR$(INMSG)   '75-81 = next avail. msgs record
  1242. 22710  MID$(RR$,82,7)=STR$(ILMSG)   '82-88 = last rec. of msgs file
  1243. 22720  MID$(RR$,89,1)=SPACE$(1)     '   89 = RBBS curretnly reserving msgs
  1244. 22730  PUT 2,1
  1245. 22740  CLOSE 2
  1246. 22750  RETURN
  1247. 22760  NAME MESSAGES$ AS MESSAGES$
  1248. 22770  OPEN "R",2,MESSAGES$,128
  1249. 22780  FIELD 2,128 AS RR$
  1250. 22790  GET 2,1
  1251. 22795  NAM$=SPACE$(31)
  1252. 22800  IF NAM$<>MID$(RR$,21,31)THEN 22920
  1253. 22810  ILMSGNUM=VAL(MID$(RR$,1,8))  ' 1- 8 = number of last message on system
  1254. 22820  IFUSER=VAL(MID$(RR$,52,5))   '52-56 = first rec. of user file
  1255. 22830  INUSER=VAL(MID$(RR$,57,5))   '57-61 = next avail. user record
  1256. 22840  ILUSER=VAL(MID$(RR$,62,5))   '62-66 = last rec. of user file
  1257. 22850  IFMSG=VAL(MID$(RR$,68,7))    '68-74 = first rec. of msgs file
  1258. 22860  INMSG=VAL(MID$(RR$,75,7))    '75-81 = next avail. msgs record
  1259. 22870  ILMSG=VAL(MID$(RR$,82,7))    '82-88 = last rec. of msgs file
  1260. 22880  CLOSE 2
  1261. 22910  RETURN
  1262. 22920  MSGLOG!=LOF(2)/128+1+MAXRBBS
  1263. 22930  CLOSE 2
  1264. 22940  NAME USERS$ AS USERS$
  1265. 22950  OPEN "R",2,USERS$,128
  1266. 22960  FIELD 2,128 AS RR$
  1267. 22970  USERLOF=LOF(2)/128
  1268. 22980  CLOSE 2
  1269. 22990  RETURN
  1270. 23000  CURPAGE=8
  1271. 23010  GOSUB 24800
  1272. 23020  LOCATE  3,9:PRINT"141. Pack "+MESSAGES$+" file."
  1273. 23030  LOCATE  4,9:PRINT"142. Pack "+USERS$+" file."
  1274. 23040  LOCATE  5,9:PRINT"143. Print "+MESSAGES$+" 'header' records."
  1275. 23050  LOCATE  6,9:PRINT"144. Renumber messages."
  1276. 23060  A$="Enter number of utility function, END to terminate, PgUp/PgDn to scroll.":GOSUB 24900
  1277. 23070  GOSUB 22160
  1278. 23080  IF IX THEN ON IX GOTO 12360,14200,14570,15340,16130,16910,21550,23000,22350,21550,12190,23100
  1279. 23090  GOTO 23070
  1280. 23100  GOSUB 50340
  1281. 23110  IF HJ$="141" THEN GOTO 23160
  1282. 23120  IF HJ$="142" THEN GOTO 24110
  1283. 23130  IF HJ$="143" THEN GOTO 23630
  1284. 23140  IF HJ$="144" THEN GOTO 23740
  1285. 23150  GOTO 23060
  1286. 23160  GOSUB 22760
  1287. 23170  OPEN "R",1,MESSAGES$
  1288. 23180  FIELD 1,128 AS R$
  1289. 23190  A$=MESSAGES$:GOSUB 50095:OPEN "R",2,A$,128
  1290. 23200  FIELD 2,128 AS RR$
  1291. 23210  FOR J! = 1 TO IFMSG-1
  1292. 23220    GET 1
  1293. 23230    LSET RR$=R$                 ' write out first record and then
  1294. 23240    PUT 2                       ' write out existing "door" records
  1295. 23250  NEXT
  1296. 23260  FOR J! = IFMSG TO INMSG-1
  1297. 23270    GET 1,J!
  1298. 23280    IF INSTR(R$,CHR$(225)) THEN PRINT"Msg #"+LEFT$(R$,5)+" copied...":GOTO 23300
  1299. 23290    IF INSTR(R$,CHR$(226)) THEN GOSUB 23600:GOTO 23270
  1300. 23300    LSET RR$=R$
  1301. 23310    PUT 2                       ' write out existing message records
  1302. 23320  NEXT
  1303. 23330  INMSG=LOC(2)                  ' point to next available message record
  1304. 23340  IF LOC(2)=>ILMSG GOTO 23410
  1305. 23350  INMSG=LOC(2)+1                ' point to next available message record
  1306. 23360  FOR J!=INMSG TO ILMSG
  1307. 23370    LSET RR$ = SPACE$(128)
  1308. 23380    PUT 2,J!                    ' write out expansion message records
  1309. 23390    GOSUB 25030
  1310. 23400  NEXT
  1311. 23410  ILMSG=LOC(2)                  ' point to last available message record
  1312. 23420  GOSUB 21430
  1313. 23520  CLOSE 1
  1314. 23530  GOSUB 50340:LOCATE 24,5:PRINT"Delete the old "+MESSAGES$+" file? (YES or NO)?";
  1315. 23540  GOSUB 22380:ON ANSW GOTO 23550,23570,23530,23530
  1316. 23550  A$=MESSAGES$:GOSUB 50096:NAME MESSAGES$ AS A$
  1317. 23560  GOTO 23580
  1318. 23570  KILL MESSAGES$
  1319. 23580  A$=MESSAGES$:GOSUB 50095:NAME A$ AS MESSAGES$
  1320. 23590  GOTO 23000
  1321. 23600  PRINT"Msg #"+LEFT$(R$,5)+"          purged..."
  1322. 23610  J!=LOC(1)+VAL(MID$(R$,118))
  1323. 23620  RETURN
  1324. 23630  GOSUB 22760
  1325. 23640  OPEN "R",1,MESSAGES$
  1326. 23650  FIELD 1,128 AS R$
  1327. 23660  J!=IFMSG
  1328. 23670  FOR I=IFMSG TO INMSG-1
  1329. 23680    GET 1,J!
  1330. 23690    PRINT R$
  1331. 23700    GOSUB 23610
  1332. 23710    IF VAL(MID$(R$,2,4))=>ILMSGNUM THEN GOTO 23730
  1333. 23720  NEXT
  1334. 23730  CLOSE 1:IWAIT!=FNTI!+5:GOSUB 60440:GOTO 23000
  1335. 23740  GOSUB 22760
  1336. 23750  GOSUB 50340:LOCATE 24,5:PRINT"Renumber starting with OLD message # (<"+STR$(ILMSGNUM+1)+")";
  1337. 23760  LINE INPUT;HJ$
  1338. 23770  IF HJ$="" THEN GOTO 23000
  1339. 23780  B1=VAL(HJ$)
  1340. 23790  IF B1<1 OR B1>ILMSGNUM THEN GOTO 23750
  1341. 23800  RENUMST=B1
  1342. 23810  GOSUB 50340:LOCATE 24,5:PRINT"Renumber starting with NEW message # ";
  1343. 23820  LINE INPUT;HJ$
  1344. 23830  IF HJ$="" THEN GOTO 23000
  1345. 23840  B1=VAL(HJ$)
  1346. 23850  IF B1<1 OR B1>9999 THEN GOTO 23810
  1347. 23860  NEWNUMST=B1
  1348. 23870  OPEN "R",1,MESSAGES$
  1349. 23880  FIELD 1,128 AS R$
  1350. 23890  GOSUB 50340
  1351. 23900  J!=IFMSG
  1352. 23910  FOR I = IFMSG TO INMSG-1
  1353. 23920    GET 1,J!
  1354. 23930    IF INSTR(R$,CHR$(225)) OR INSTR(R$,CHR$(226)) THEN GOSUB 24010:GOSUB 23610
  1355. 23940  NEXT
  1356. 23950  CLOSE 1
  1357. 23960  IF NEWNUMST>B1 THEN ILMSGNUM=NEWNUMST-1
  1358. 23970  GOSUB 22560
  1359. 23980  IWAIT!=FNTI!+5
  1360. 23990  GOSUB 60440
  1361. 24000  GOTO 23000
  1362. 24010  LOCATE 24,15
  1363. 24020  PRINT "Msg #"+MID$(R$,1,5);
  1364. 24030  IF VAL(MID$(R$,2,4))<RENUMST THEN PRINT " read";:RETURN
  1365. 24040  Y$=MID$(R$,1,1)
  1366. 24045  MID$(R$,1,5)=SPACE$(5)
  1367. 24050  MID$(R$,1,5)=SPACE$(5-LEN(STR$(NEWNUMST)))+STR$(NEWNUMST)
  1368. 24060  MID$(R$,1,1)=Y$
  1369. 24070  PRINT " renumbered as Msg #"+MID$(R$,1,5)
  1370. 24080  NEWNUMST=NEWNUMST+1
  1371. 24090  PUT 1,J!
  1372. 24100  RETURN
  1373. 24110  GOSUB 22760
  1374. 24119  OPEN "R",1,USERS$,128
  1375. 24120  FIELD 1,31 AS O.N$,15 AS OG$,2 AS OH$,14 AS OI$,24 AS OJ$,19 AS OL$,14 AS OM$,3 AS OO$,2 AS OQ$,2 AS OS$,2 AS OT$
  1376. 24130  GOSUB 50350:A$=F$:GOSUB 50095:OPEN "R",2,A$,128
  1377. 24140  FIELD 2,31 AS N$,15 AS PW$,2 AS SL$,14 AS OP$,24 AS CS$,19 AS MA$,14 AS TD$,3 AS LND$,2 AS UDL$,2 AS UUL$,2 AS ET$
  1378. 24150  NOW=VAL(LEFT$(DATE$,2))
  1379. 24160  Q=0
  1380. 24180  A!=INUSER-1
  1381. 24190  ILUSER.OLD=ILUSER
  1382. 24200  FOR J = 1 TO A!
  1383. 24210    GET 1
  1384. 24220    IF ASC(O.N$)=0 THEN 24430
  1385. 24230    OF=CVI(OH$)
  1386. 24240    OU=VAL(LEFT$(OM$,2))
  1387. 24250    LQ=NOW-OU
  1388. 24255    IF O.N$="NEWUSER" THEN 24430
  1389. 24260    IF LQ<0 THEN LQ=LQ+12
  1390. 24265    IF OF=>PACKSEC THEN 24290
  1391. 24270    IF OF<=MINSEC THEN 24290
  1392. 24280    IF LQ>LAPSE.MAX THEN 24430
  1393. 24290    PRINT STR$(LOC(1))+": "+O.N$+" copied ...."
  1394. 24300    LSET N$ = O.N$
  1395. 24310    LSET PW$ = OG$
  1396. 24320    LSET SL$ = OH$
  1397. 24330    LSET OP$ = OI$
  1398. 24340    LSET CS$ = OJ$
  1399. 24350    LSET MA$ = OL$
  1400. 24360    LSET TD$ = OM$
  1401. 24370    LSET LND$ = OO$
  1402. 24380    LSET UDL$ = OQ$
  1403. 24390    LSET UUL$ = OS$
  1404. 24400    LSET ET$ = OT$
  1405. 24410    PUT 2
  1406. 24420    GOTO 24450
  1407. 24430    Q=Q+1
  1408. 24440    PRINT STR$(LOC(1))+": "+O.N$+"         purged..."
  1409. 24450  NEXT
  1410. 24460  INUSER=LOC(2)                 ' point to next available user record
  1411. 24470  IF INUSER=>ILUSER.OLD THEN GOTO 24640
  1412. 24480  INUSER=INUSER+1               ' point to next available user record
  1413. 24490  FOR J=INUSER TO ILUSER.OLD
  1414. 24500    LSET N$   = SPACE$(31)
  1415. 24510    LSET PW$  = SPACE$(15)
  1416. 24520    LSET SL$  = SPACE$(2)
  1417. 24530    LSET OP$  = SPACE$(14)
  1418. 24540    LSET CS$  = SPACE$(24)
  1419. 24550    LSET MA$  = SPACE$(19)
  1420. 24560    LSET TD$  = SPACE$(14)
  1421. 24570    LSET LND$ = SPACE$(3)
  1422. 24580    LSET UDL$ = SPACE$(2)
  1423. 24590    LSET UUL$ = SPACE$(2)
  1424. 24600    LSET ET$  = SPACE$(2)
  1425. 24610    PUT 2
  1426. 24620    GOSUB 25020
  1427. 24630  NEXT
  1428. 24640  ILUSER=LOC(2)                 ' point to last available user record
  1429. 24650  CLOSE 1,2
  1430. 24660  OPEN "R",2,MESSAGES$,128
  1431. 24670  FIELD 2,128 AS RR$
  1432. 24680  GET 2,1
  1433. 24689  MID$(RR$,57,10)=SPACE$(10)   'reset all counters before filling
  1434. 24690  MID$(RR$,57,5)=STR$(INUSER)  '57-61 = next avail. user record
  1435. 24700  MID$(RR$,62,5)=STR$(ILUSER)  '62-66 = last rec. of user file
  1436. 24710  PUT 2,1
  1437. 24720  CLOSE 2
  1438. 24730  GOSUB 50340:LOCATE 24,5:PRINT"Delete the old "+USERS$+" file? (YES or NO)?";
  1439. 24740  GOSUB 22380:ON ANSW GOTO 24750,24770,24730,24730
  1440. 24750  A$=USERS$:GOSUB 50096:NAME USERS$ AS A$
  1441. 24760  GOTO 24780
  1442. 24770  KILL USERS$
  1443. 24780  GOSUB 50350:A$=F$:GOSUB 50095:NAME A$ AS USERS$
  1444. 24790  GOTO 23000
  1445. 24800  CLS
  1446. 24810  I!=FRE(C$)
  1447. 24820  COLOR 0,7,0
  1448. 24830  LOCATE 1,15
  1449. 24840  PRINT"RBBS-PC CPC12.3 Default Configuration "+VER$;
  1450. 24850  COLOR FGR,BGR,BDR
  1451. 24860  LOCATE 1,68
  1452. 24870  PRINT"Page "+STR$(CURPAGE)+" of "+STR$(MAXPAGE)
  1453. 24880  RETURN
  1454. 24890  A$="Enter parameter number to change, END to update, PgUp/PgDn to scroll."
  1455. 24900  LOCATE 24,1
  1456. 24910  PRINT A$;
  1457. 24920  PRINT STRING$((79-LEN(A$)),32);
  1458. 24930  LOCATE 24,LEN(A$)+1
  1459. 24940  COLOR FGR,BGR,BDR:HJ$=""
  1460. 24950  I!=FRE(C$)
  1461. 24960  RETURN
  1462. 24970  CLS:LOCATE 12,1,1:PRINT "RBBS-PC configuration description file, "+CONFIG$+", now on default drive.":GOSUB 60380
  1463. 24980  IF USW THEN GOTO 24990 ELSE LOCATE 14,1,1:PRINT USERS$+" file has been preformatted to"+STR$(USERMAX)+" records.":IF MSW=1 AND ICHANGE=1 THEN GOSUB 22770:OPEN "R",2,MESSAGES$,128:FIELD 2,128 AS RR$:GOSUB 21430
  1464. 24990  IF MSW=1 THEN GOTO 25000 ELSE LOCATE 16,1,1:PRINT MESSAGES$+" file has been preformatted to"+STR$(MSGMAX!)+" records."
  1465. 25000  IF USW OR MSW THEN GOSUB 22560
  1466. 25010  GOTO 60340
  1467. 25020  LOCATE 24,5:PRINT "Preformatting record"+STR$(LOC(2))+" of "+USERS$+" file.";:RETURN
  1468. 25030  LOCATE 24,5:PRINT "Preformatting record"+STR$(LOC(2))+" of "+MESSAGES$+" file.";:RETURN
  1469. 25040  GOSUB 50340
  1470. 25050  LOCATE 24,5:PRINT "Enter the name of the conference (seven characters or less) ";
  1471. 25060  LINE INPUT;HJ$
  1472. 25070  IF LEN(HJ$)<1 OR LEN(HJ$)>7 THEN GOTO 25040
  1473. 25075  GOSUB 60390:CONFNAME$=HJ$
  1474. 25080  GOSUB 50340
  1475. 25090  LOCATE 24,5:PRINT "Specify drive (A->"+M$+") containing this conference's files. ";
  1476. 25100  LINE INPUT;HJ$
  1477. 25110  IF LEN(HJ$)<>1 THEN GOTO 25080
  1478. 25112  GOSUB 60390
  1479. 25114  IF HJ$<"A" OR HJ$>M$ THEN GOTO 25090
  1480. 25120  CONFNAME$=HJ$+":"+CONFNAME$
  1481. 25140  CONF.MSG$=CONFNAME$+"M.DEF"
  1482. 25160  CONFUSER$=CONFNAME$+"U.DEF"
  1483. 25161  GOSUB 50300
  1484. 25162  NAME MESSAGES$ AS MESSAGES$
  1485. 25163  GOSUB 22770
  1486. 25164  USERMAX=ILUSER
  1487. 25165  MSGMAX!=ILMSG
  1488. 25166  MESSAGE.MAX=CINT((ILMSG-1-MAXRBBS)/5)
  1489. 25170  GOTO 21550
  1490. 50000  OPEN "R",2,USERS$
  1491. 50010  FIELD 2,128 AS U$
  1492. 50020  FOR J=1 TO USERMAX
  1493. 50030    LSET U$ = SPACE$(128)
  1494. 50040    PUT 2
  1495. 50050    GOSUB 25020
  1496. 50060  NEXT
  1497. 50070  IFUSER=1:INUSER=1:ILUSER=LOC(2)
  1498. 50080  CLOSE 2
  1499. 50090  RETURN
  1500. 50095  IF INSTR(A$,".") THEN A$=MID$(A$,1,INSTR(A$,".")-1)+".BAK":RETURN ELSE A$=A$+".BAK":RETURN
  1501. 50096  IF INSTR(A$,".") THEN A$=MID$(A$,1,INSTR(A$,".")-1)+".OLD":RETURN ELSE A$=A$+".OLD":RETURN
  1502. 50100  OPEN "R",2,MESSAGES$
  1503. 50110  FIELD 2,128 AS RR$
  1504. 50120  LSET RR$=" 1      "+SPACE$(118)+STR$(MAXRBBS)
  1505. 50130  PUT 2,1                       ' write out first record of new file
  1506. 50140  FOR J!=2 TO MAXRBBS+1
  1507. 50150    GOSUB 20800
  1508. 50160    PUT 2                       ' write out "door" records of new file
  1509. 50170    GOSUB 25030
  1510. 50180  NEXT
  1511. 50190  IFMSG=LOC(2)+1                ' point to first message record
  1512. 50200  INMSG=IFMSG                   ' point to next available message record
  1513. 50210  IF MAXRBBS+1=MSGMAX! THEN GOTO 50270
  1514. 50220  FOR J!=MAXRBBS+2 TO MSGMAX!
  1515. 50230    LSET RR$ = SPACE$(128)
  1516. 50240    PUT 2                       ' write out messages records of new file
  1517. 50250    GOSUB 25030
  1518. 50260  NEXT
  1519. 50270  ILMSG=LOC(2)                  ' point to last available message record
  1520. 50280  GOSUB 21430
  1521. 50290  RETURN
  1522. 50300  ISWP=NOT ISWP:SWAP MESSAGES$,CONF.MSG$
  1523. 50320  SWAP CONFUSER$,USERS$
  1524. 50325  SWAP CMESSAGE.MAX,MESSAGE.MAX:SWAP CMSGMAX!,MSGMAX!
  1525. 50330  RETURN
  1526. 50340  I!=FRE(C$):LOCATE 24,1:PRINT STRING$(79,32);:RETURN
  1527. 50350  F$=USERS$
  1528. 50360  IF INSTR(USERS$,".") THEN F$=MID$(USERS$,1,INSTR(USERS$,".")-1)
  1529. 50370  RETURN
  1530. 50380  ICHANGE=1
  1531. 50410  IFUSER.NEW=IFUSER
  1532. 50420  INUSER.NEW=INUSER
  1533. 50430  ILUSER.NEW=ILUSER
  1534. 50470  RETURN
  1535. 50480  USERMAX=10
  1536. 50490  NAME USERS$ AS USERS$
  1537. 50500  OPEN "R",1,USERS$
  1538. 50510  IF USERMAX<LOF(1)/128 THEN USERMAX=LOF(1)/128
  1539. 50520  USERLOF=LOF(1)/128:CLOSE 1:GOTO 50470
  1540. 50530  MSGMAX!=(5*MESSAGE.MAX)+1+MAXRBBS
  1541. 50540  NAME MESSAGES$ AS MESSAGES$
  1542. 50550  OPEN "R",1,MESSAGES$
  1543. 50560  IF MSGMAX!<LOF(1)/128 THEN MSGMAX!=LOF(1)/128
  1544. 50570  MSGLOF!=LOF(1)/128:CLOSE 1:GOTO 50470
  1545. 60000  REM
  1546. 60010  REM * HANDLE ERROR CONDITIONS *
  1547. 60020  ' PRINT ERR,ERL
  1548. 60030  IF ERR=53 AND ERL=11590 THEN LOCATE 24,5:PRINT SPC(74);:LOCATE 24,5:PRINT CONFIG$+" file not found.  A new one will be created.";:IWAIT!=FNTI!+5:GOSUB 60440:RESUME 11870
  1549. 60040  IF ERR=62 AND (ERL=11600 OR ERL=11620 OR ERL=11640) THEN PRINT CONFIG$+" from a version earlier than CPC12.3 on default drive.":PRINT "Please delete and rerun CONFIG.":RESUME 60340
  1550. 60050  IF ERL=19180 AND ERR=53 THEN RESUME 19940
  1551. 60060  IF ERL=19180 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+USERS$+".  Check option 65";:IWAIT!=FNTI!+5:GOSUB 60440:RESUME 15340
  1552. 60070  IF ERL=19180 AND ERR=58 THEN RESUME 19200
  1553. 60080  IF ERL=19890 AND ERR=58 THEN KILL A$:RESUME 19890
  1554. 60090  IF ERL=19920 AND ERR=58 THEN KILL A$:RESUME 19920
  1555. 60100  IF ERL=20030 AND ERR=53 THEN RESUME 20810
  1556. 60110  IF ERL=20030 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+MESSAGES$+".  Check option 61";:IWAIT!=FNTI!+5:GOSUB 60440:CLOSE 1:RESUME 15340
  1557. 60120  IF ERL=20030 AND ERR=58 THEN RESUME 20050
  1558. 60130  IF ERL=20360 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+MESSAGES$+".BAK"+".  Check option 62";:IWAIT!=FNTI!+5:GOSUB 60440:CLOSE 1:RESUME 15340
  1559. 60140  IF ERL=20750 AND ERR=58 THEN KILL A$:RESUME 20750
  1560. 60150  IF ERL=20780 AND ERR=58 THEN KILL A$:RESUME 20780
  1561. 60160  IF ERL=21030 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+A$+"  Check option 62";:IWAIT!=FNTI!+5:GOSUB 60440:CLOSE 1:RESUME 15340
  1562. 60170  IF ERL=22120 AND ERR=6 THEN RESUME 22100
  1563. 60180  IF ERL=22760 AND ERR=53 THEN MSGMAX!=(5*MESSAGE.MAX)+1+MAXRBBS:RESUME 22940
  1564. 60190  IF ERL=22760 AND ERR=58 THEN RESUME 22770
  1565. 60200  IF ERL=22760 AND ERR=71 THEN MSGMAX!=(5*MESSAGE.MAX)+1+MAXRBBS:RESUME 22940
  1566. 60210  IF ERL=22760 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+MESSAGES$+".  Check option 61";:IWAIT!=FNTI!+5:GOSUB 60440:CLOSE 2:RESUME 15340
  1567. 60220  IF ERL=22940 AND ERR=53 THEN RESUME 22990
  1568. 60230  IF ERL=22940 AND ERR=58 THEN RESUME 22950
  1569. 60240  IF ERL=22940 AND ERR=71 THEN RESUME 22990
  1570. 60250  IF ERL=22940 AND ERR=76 THEN LOCATE 24,5:PRINT "Path not found for "+USERS$+".  Check option 65"7:IWAIT!=FNTI!+5:GOSUB 60440:CLOSE 2:RESUME 15340
  1571. 60260  IF ERL=23550 AND ERR=58 THEN KILL A$:RESUME 23550
  1572. 60270  IF ERL=24750 AND ERR=58 THEN KILL A$:RESUME 24750
  1573. 60275  IF ERL=25162 AND ERR=58 THEN RESUME 25163
  1574. 60276  IF ERL=25162 AND ERR=53 THEN MESSAGE.MAX=CMESSAGE.MAX:MSGMAX!=CMSGMAX!:RESUME 25170
  1575. 60277  IF ERL=25162 AND (ERR=64 OR ERR=76) THEN RESUME 25040
  1576. 60278  IF ERL=50490 AND ERR=58 THEN RESUME 50500
  1577. 60280  IF ERL=50540 AND ERR=58 THEN RESUME 50550
  1578. 60282  IF ERL=50490 OR ERL=50540 THEN RESUME 50470
  1579. 60285  IF ERR=61 THEN PRINT "ERROR - IBM DOS DISKETTE FULL ":RESUME 60340
  1580. 60290  IF ERR=67 THEN PRINT "ERROR - IBM DOS DIRECTORY FULL":RESUME 60340
  1581. 60300  IF ERR=70 THEN PRINT "DISKETTE IN DRIVE IS WRITE PROTECTED":RESUME 60340
  1582. 60310  IF ERR=71 THEN PRINT "DRIVE DOOR OPEN OR MISSING DISKETTE":RESUME 60340
  1583. 60320  IF ERR=72 THEN PRINT "ERROR - UNFORMATTED IBM DOS DISKETTE IN DRIVE":RESUME 60340
  1584. 60330  PRINT "+++ Error";ERR;" in line ";ERL "occurred at " TIME$ " on " DATE$
  1585. 60340  IWAIT!=FNTI!+5
  1586. 60350  GOSUB 60440
  1587. 60360  SYSTEM
  1588. 60370  PRINT "Unable to create preformatted "+USERS$+" file.":GOTO 60340
  1589. 60380  FOR WQ=1 TO 3:SOUND 1000*WQ,1:NEXT:RETURN
  1590. 60390  ' Convert Lower Case to Upper Case -------
  1591. 60400  FOR Z=1 TO LEN(HJ$)
  1592. 60410  MID$(HJ$,Z,1)=CHR$(ASC(MID$(HJ$,Z,1))+32*(ASC(MID$(HJ$,Z,1))>96))
  1593. 60420  NEXT Z
  1594. 60430  RETURN
  1595. 60440  ' wait routine
  1596. 60450  IF FNTI!<IWAIT! THEN GOTO 60450
  1597. 60460  RETURN
  1598.